@mailstep/design-system 0.8.22-beta.3 → 0.8.22
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/package.json +1 -1
- package/ui/Blocks/CommonGrid/components/Filters/DatePickerRange/DatePickerRange.js +2 -1
- package/ui/Blocks/CommonGrid/components/Filters/GridSelect/GridSelect.js +2 -3
- package/ui/Blocks/CommonGrid/components/MobileFilterModal.js +1 -1
- package/ui/Blocks/CommonGrid/components/QuickFilter/QuickFilter.js +1 -4
- package/ui/Blocks/CommonGrid/styles.js +1 -1
- package/ui/Blocks/Header/components/MenuItems/styles.js +1 -1
- package/ui/Blocks/Header/styles.js +2 -2
- package/ui/Blocks/LanguageSwitch/LanguageSwitch.js +10 -5
- package/ui/Blocks/LanguageSwitch/styles.d.ts +0 -5
- package/ui/Blocks/LanguageSwitch/styles.js +3 -11
- package/ui/Blocks/SideMenu/components/HamburgerMenu.js +2 -3
- package/ui/Elements/DropdownMenu/components/DefaultItem.js +1 -1
- package/ui/Elements/Select/Select.js +4 -4
- package/ui/Elements/Select/components/ConnectedMenu.js +3 -2
- package/ui/Elements/Select/components/CountMultiValue.d.ts +1 -7
- package/ui/Elements/Select/components/CountMultiValue.js +5 -13
- package/ui/Elements/Select/components/DropdownIndicator.d.ts +1 -6
- package/ui/Elements/Select/components/DropdownIndicator.js +2 -3
- package/ui/Elements/Select/components/IconValueContainer.js +1 -1
- package/ui/Elements/Select/components/ResetAll.d.ts +5 -0
- package/ui/Elements/Select/components/ResetAll.js +15 -0
- package/ui/Elements/Select/themes/index.d.ts +1 -1
- package/ui/Elements/Select/themes/index.js +14 -4
- package/ui/Elements/Select/themes/selectStyles.js +22 -20
- package/ui/Elements/Select/types.d.ts +6 -6
- package/ui/Elements/SingleSelect/SingleSelect.d.ts +1 -1
- package/ui/Elements/SingleSelect/SingleSelect.js +20 -11
- package/ui/index.es.js +16048 -15429
- package/ui/index.umd.js +475 -496
|
@@ -25,21 +25,21 @@ export type SelectProps = {
|
|
|
25
25
|
loadOptions?: (text: string) => Promise<Option[]>;
|
|
26
26
|
defaultOptions?: Option[];
|
|
27
27
|
onChange: (value: ValueType) => void;
|
|
28
|
-
onBlur?:
|
|
28
|
+
onBlur?: Function;
|
|
29
29
|
error?: string;
|
|
30
30
|
index?: [];
|
|
31
31
|
isInvalid?: boolean;
|
|
32
32
|
isLoading?: boolean;
|
|
33
33
|
spaceAround?: SpaceAround;
|
|
34
34
|
disabled?: boolean;
|
|
35
|
-
onInputChange?:
|
|
35
|
+
onInputChange?: Function;
|
|
36
36
|
useSimplifiedOptions?: boolean;
|
|
37
37
|
showSelectAllButton?: boolean;
|
|
38
|
+
showResetGridButton?: boolean;
|
|
38
39
|
isClearable?: boolean;
|
|
39
40
|
isSearchable?: boolean;
|
|
40
41
|
isMulti?: boolean;
|
|
41
42
|
shortValues?: boolean;
|
|
42
|
-
shortVariant?: 'block' | 'join';
|
|
43
43
|
menuIsOpen?: boolean;
|
|
44
44
|
defaultMenuIsOpen?: boolean;
|
|
45
45
|
isDarkPlaceholderText?: boolean;
|
|
@@ -51,10 +51,11 @@ export type SelectProps = {
|
|
|
51
51
|
innerRef?: RefObject<HTMLElement>;
|
|
52
52
|
className?: string;
|
|
53
53
|
maxMenuHeight?: number;
|
|
54
|
-
|
|
54
|
+
resetGrid?: Function;
|
|
55
|
+
getOptionValue?: Function;
|
|
55
56
|
systemTheme?: Theme;
|
|
56
57
|
menuPlacement?: string;
|
|
57
|
-
onIconClick?:
|
|
58
|
+
onIconClick?: Function;
|
|
58
59
|
};
|
|
59
60
|
export type BaseColors = {
|
|
60
61
|
primary: string;
|
|
@@ -71,7 +72,6 @@ export type BaseColors = {
|
|
|
71
72
|
dropdownIndicatorColor: string;
|
|
72
73
|
hoverToActiveOptionBackground: string;
|
|
73
74
|
defaultControlColor: string;
|
|
74
|
-
clearIndicatorColor: string;
|
|
75
75
|
};
|
|
76
76
|
type BaseState<ThemeType = BaseColors> = {
|
|
77
77
|
theme: ThemeType;
|
|
@@ -6,7 +6,7 @@ export type Props = Omit<SelectProps, 'onChange' | 'loadOptions'> & {
|
|
|
6
6
|
onChange?: (event: {
|
|
7
7
|
target: Record<string, FieldValueType>;
|
|
8
8
|
}) => void;
|
|
9
|
-
onValueChange?:
|
|
9
|
+
onValueChange?: Function;
|
|
10
10
|
asyncLoadMinChars?: number;
|
|
11
11
|
preload?: boolean;
|
|
12
12
|
isLocked?: boolean;
|
|
@@ -64,7 +64,7 @@ import omit from 'lodash/fp/omit';
|
|
|
64
64
|
var CREATE = "_create_".concat(nanoid(), "_");
|
|
65
65
|
var defaultFilterOption = createFilter();
|
|
66
66
|
var creatableFilterOption = function (option, rawInput) {
|
|
67
|
-
if ((option === null || option === void 0 ? void 0 : option.value)
|
|
67
|
+
if ((option === null || option === void 0 ? void 0 : option.value) == CREATE)
|
|
68
68
|
return true;
|
|
69
69
|
return defaultFilterOption(option, rawInput);
|
|
70
70
|
};
|
|
@@ -88,7 +88,7 @@ var SingleSelect = function (props) {
|
|
|
88
88
|
if (!loadOptions)
|
|
89
89
|
return i18n._({ id: 'components.dropdown.noOptions', message: 'No options' });
|
|
90
90
|
if (inputValue.length < asyncLoadMinChars)
|
|
91
|
-
return i18n._({ id: 'components.dropdown.writeMoreChars', message:
|
|
91
|
+
return i18n._({ id: 'components.dropdown.writeMoreChars', message: 'Write at least ${asyncLoadMinChars} characters.' });
|
|
92
92
|
return i18n._({ id: 'dataGrid.filterCell', message: 'Type to filter' });
|
|
93
93
|
}, [loadOptions, asyncLoadMinChars]);
|
|
94
94
|
var handleLoadOptions = useCallback(function (inputValue) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -119,21 +119,19 @@ var SingleSelect = function (props) {
|
|
|
119
119
|
var _f = useState(options || []), loadedDefaultOptions = _f[0], setLoadedDefaultOptions = _f[1];
|
|
120
120
|
useEffect(function () {
|
|
121
121
|
if (loadOptions && preload && !props.value)
|
|
122
|
-
loadOptions('', false).then(setLoadedDefaultOptions)
|
|
122
|
+
loadOptions('', false).then(setLoadedDefaultOptions);
|
|
123
123
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
124
124
|
}, [loadOptions]); // this is intentional
|
|
125
125
|
var _g = useState(null), storedSelectedOption = _g[0], setStoredSelectedOption = _g[1];
|
|
126
126
|
useEffect(function () {
|
|
127
|
-
if (initialOptions
|
|
128
|
-
var selectedOption = initialOptions.find(function (option) { return option.value
|
|
127
|
+
if (initialOptions && initialOptions.length) {
|
|
128
|
+
var selectedOption = initialOptions.find(function (option) { return option.value == props.value; }) || null;
|
|
129
129
|
setStoredSelectedOption(selectedOption);
|
|
130
130
|
}
|
|
131
131
|
if (loadOptions && !initialOptions && props.value) {
|
|
132
|
-
loadOptions(String(props.value), true)
|
|
133
|
-
.then(function (selectedOptions) {
|
|
132
|
+
loadOptions(String(props.value), true).then(function (selectedOptions) {
|
|
134
133
|
setStoredSelectedOption((selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0]) || null);
|
|
135
|
-
})
|
|
136
|
-
.catch(console.error);
|
|
134
|
+
});
|
|
137
135
|
}
|
|
138
136
|
// ignored because of props.value, this only finds option for initial value
|
|
139
137
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -149,7 +147,7 @@ var SingleSelect = function (props) {
|
|
|
149
147
|
return __generator(this, function (_e) {
|
|
150
148
|
switch (_e.label) {
|
|
151
149
|
case 0:
|
|
152
|
-
if (!(onCreateOption && (option === null || option === void 0 ? void 0 : option.value)
|
|
150
|
+
if (!(onCreateOption && (option === null || option === void 0 ? void 0 : option.value) == CREATE)) return [3 /*break*/, 4];
|
|
153
151
|
if (!((option === null || option === void 0 ? void 0 : option.inputValue) && ((_b = (_a = option === null || option === void 0 ? void 0 : option.inputValue) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.length) < 2)) return [3 /*break*/, 1];
|
|
154
152
|
props === null || props === void 0 ? void 0 : props.form.setFieldTouched(name, true, true);
|
|
155
153
|
props === null || props === void 0 ? void 0 : props.form.setFieldError(name, i18n._({ id: 'form.general.min2Chars', message: 'Minimal length is 2 characters.' }));
|
|
@@ -184,6 +182,17 @@ var SingleSelect = function (props) {
|
|
|
184
182
|
}
|
|
185
183
|
});
|
|
186
184
|
}); }, [onCreateOption, loadOptions, onChange, onValueChange, props === null || props === void 0 ? void 0 : props.form, name]);
|
|
185
|
+
var handleBlur = useCallback(function (option) {
|
|
186
|
+
if (onBlur) {
|
|
187
|
+
onBlur({
|
|
188
|
+
target: {
|
|
189
|
+
name: name,
|
|
190
|
+
type: 'blur',
|
|
191
|
+
value: getOptionValue(option)
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}, [name, onBlur]);
|
|
187
196
|
var omitted = ['onValueChange', 'placeholder', 'options', 'loadOptions', 'asyncLoadMinChars'];
|
|
188
197
|
var displayLockedText = isLocked && !disabled;
|
|
189
198
|
var placeholderValue = displayLockedText ? lockedText : placeholder;
|
|
@@ -195,6 +204,6 @@ var SingleSelect = function (props) {
|
|
|
195
204
|
return staticOptions || undefined;
|
|
196
205
|
return staticOptions ? __spreadArray(__spreadArray([], staticOptions, true), [storedSelectedOption], false) : [storedSelectedOption];
|
|
197
206
|
}, [asAsync, loadedDefaultOptions, onCreateOption, options, storedSelectedOption]);
|
|
198
|
-
return (_jsx(Select, __assign({}, omit(omitted, props), { filterOption: (filterOption || creatableFilterOption), disabled: disabled || isLocked, onChange: handleChange, onBlur:
|
|
207
|
+
return (_jsx(Select, __assign({}, omit(omitted, props), { filterOption: (filterOption || creatableFilterOption), disabled: disabled || isLocked, onChange: handleChange, onBlur: handleBlur, placeholder: placeholderValue, loadingMessage: loadingMessage, noOptionsMessage: noOptionsMessage, loadOptions: asAsync ? handleLoadOptions : undefined, containerVariant: asAsync ? 'search' : undefined, defaultOptions: defaultOptions, options: !asAsync ? options : undefined, isLoading: isCreating || props.isLoading })));
|
|
199
208
|
};
|
|
200
209
|
export default SingleSelect;
|