@activecollab/components 2.0.75 → 2.0.76
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/cjs/components/Autocomplete/Autocomplete.js +6 -3
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Select/Option/Option.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +11 -4
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +28 -3
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts +2 -0
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +5 -3
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Select/Option/Option.d.ts +2 -0
- package/dist/esm/components/Select/Option/Option.d.ts.map +1 -1
- package/dist/esm/components/Select/Option/Option.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts +2 -0
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js +6 -2
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +24 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/index.js +45 -10
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12076,7 +12076,9 @@
|
|
|
12076
12076
|
onChange = _ref.onChange,
|
|
12077
12077
|
setHover = _ref.setHover,
|
|
12078
12078
|
renderOptions = _ref.renderOptions,
|
|
12079
|
-
optionGroupClassName = _ref.optionGroupClassName
|
|
12079
|
+
optionGroupClassName = _ref.optionGroupClassName,
|
|
12080
|
+
_ref$mixedOptions = _ref.mixedOptions,
|
|
12081
|
+
mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions;
|
|
12080
12082
|
var list = React.useMemo(function () {
|
|
12081
12083
|
return filter ? options.filter(function (v) {
|
|
12082
12084
|
return v.name.toLowerCase().includes(filter.trim().toLowerCase());
|
|
@@ -12106,6 +12108,13 @@
|
|
|
12106
12108
|
return option.id;
|
|
12107
12109
|
});
|
|
12108
12110
|
}, [options]);
|
|
12111
|
+
var isMixed = React.useMemo(function () {
|
|
12112
|
+
return (options.some(function (option) {
|
|
12113
|
+
return checked.includes(option.id);
|
|
12114
|
+
}) || mixedOptions.some(function (item) {
|
|
12115
|
+
return allOptionValues.includes(item);
|
|
12116
|
+
})) && !isAllOptionsChecked;
|
|
12117
|
+
}, [allOptionValues, checked, isAllOptionsChecked, mixedOptions, options]);
|
|
12109
12118
|
var handleClick = React.useCallback(function (e) {
|
|
12110
12119
|
e.stopPropagation();
|
|
12111
12120
|
if (onChange) {
|
|
@@ -12135,9 +12144,7 @@
|
|
|
12135
12144
|
}, name), type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
|
|
12136
12145
|
id: `${id}`,
|
|
12137
12146
|
checked: isAllOptionsChecked,
|
|
12138
|
-
mixed:
|
|
12139
|
-
return checked.includes(option.id);
|
|
12140
|
-
}) && !isAllOptionsChecked,
|
|
12147
|
+
mixed: isMixed,
|
|
12141
12148
|
onChange: handleClick,
|
|
12142
12149
|
type: "checkbox"
|
|
12143
12150
|
}))), /*#__PURE__*/React__default["default"].createElement(List, null, list.map(function (item, index) {
|
|
@@ -12176,7 +12183,9 @@
|
|
|
12176
12183
|
keepSameOptionsOrder = _ref$keepSameOptionsO === void 0 ? false : _ref$keepSameOptionsO,
|
|
12177
12184
|
_ref$autoHeightMax = _ref.autoHeightMax,
|
|
12178
12185
|
autoHeightMax = _ref$autoHeightMax === void 0 ? 340 : _ref$autoHeightMax,
|
|
12179
|
-
clearInputOnSelect = _ref.clearInputOnSelect
|
|
12186
|
+
clearInputOnSelect = _ref.clearInputOnSelect,
|
|
12187
|
+
_ref$mixedOptions = _ref.mixedOptions,
|
|
12188
|
+
mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions;
|
|
12180
12189
|
var itemRef = React.useRef(null);
|
|
12181
12190
|
var listRef = React.useRef(null);
|
|
12182
12191
|
var selectedOptions = React.useMemo(function () {
|
|
@@ -12420,7 +12429,8 @@
|
|
|
12420
12429
|
renderOptions: handleRenderOption,
|
|
12421
12430
|
type: type,
|
|
12422
12431
|
onChange: handleChange,
|
|
12423
|
-
filter: filter
|
|
12432
|
+
filter: filter,
|
|
12433
|
+
mixedOptions: mixedOptions
|
|
12424
12434
|
});
|
|
12425
12435
|
}
|
|
12426
12436
|
return /*#__PURE__*/React__default["default"].createElement(Option, {
|
|
@@ -12443,7 +12453,7 @@
|
|
|
12443
12453
|
}
|
|
12444
12454
|
})
|
|
12445
12455
|
});
|
|
12446
|
-
}, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
|
|
12456
|
+
}, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange, mixedOptions]);
|
|
12447
12457
|
var handleOnMouseLeave = React.useCallback(function () {
|
|
12448
12458
|
setHover({
|
|
12449
12459
|
item: undefined,
|
|
@@ -12631,6 +12641,27 @@
|
|
|
12631
12641
|
return [...acc, ...allGroupOptions];
|
|
12632
12642
|
}, []);
|
|
12633
12643
|
}, [selectOptions]);
|
|
12644
|
+
var getMixedOptionsRecursively = React.useCallback(function (options) {
|
|
12645
|
+
var mixedOptions = [];
|
|
12646
|
+
options.forEach(function (option) {
|
|
12647
|
+
if (option.mixed) {
|
|
12648
|
+
mixedOptions.push(option);
|
|
12649
|
+
}
|
|
12650
|
+
if (isOptionGroup(option) && option.options && option.options.length > 0) {
|
|
12651
|
+
var nestedMixedOptions = getMixedOptionsRecursively(option.options);
|
|
12652
|
+
mixedOptions = mixedOptions.concat(nestedMixedOptions);
|
|
12653
|
+
}
|
|
12654
|
+
});
|
|
12655
|
+
return mixedOptions;
|
|
12656
|
+
}, []);
|
|
12657
|
+
var mixedOptions = React.useRef(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(function (item) {
|
|
12658
|
+
return item.id;
|
|
12659
|
+
}) : []);
|
|
12660
|
+
var removeFromMixedOptions = React.useCallback(function (idsToRemove) {
|
|
12661
|
+
mixedOptions.current = mixedOptions.current.filter(function (mixedOption) {
|
|
12662
|
+
return !idsToRemove.includes(mixedOption);
|
|
12663
|
+
});
|
|
12664
|
+
}, []);
|
|
12634
12665
|
var isAllOptionsChecked = React.useMemo(function () {
|
|
12635
12666
|
return allOptionValues.every(function (option) {
|
|
12636
12667
|
return selectedOptions.includes(option);
|
|
@@ -12654,8 +12685,9 @@
|
|
|
12654
12685
|
}
|
|
12655
12686
|
if (selectedValue !== undefined && selectedValue !== selected && !(selectedValue instanceof Array && selectedValue.includes(undefined))) {
|
|
12656
12687
|
onChange(selectedValue);
|
|
12688
|
+
type === "multiple" && mixedOptions.current.length && removeFromMixedOptions(selectedValue);
|
|
12657
12689
|
}
|
|
12658
|
-
}, [forceCloseMenu, selected, onSelectClose, onChange]);
|
|
12690
|
+
}, [forceCloseMenu, selected, onSelectClose, onChange, type, removeFromMixedOptions]);
|
|
12659
12691
|
var onClose = React.useCallback(function () {
|
|
12660
12692
|
setOpen(false);
|
|
12661
12693
|
if (onSelectClose) {
|
|
@@ -12737,8 +12769,10 @@
|
|
|
12737
12769
|
mixed: someOptionsChecked && !isAllOptionsChecked
|
|
12738
12770
|
}, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, _extends({
|
|
12739
12771
|
checked: selectedOptions.length < 1 || !selectedOptions[0]
|
|
12740
|
-
}, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox,
|
|
12741
|
-
|
|
12772
|
+
}, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, _extends({
|
|
12773
|
+
mixed: mixedOptions.current.includes(option.id)
|
|
12774
|
+
}, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, props));
|
|
12775
|
+
}, [isAllOptionsChecked, renderOption, type, someOptionsChecked, selectedOptions]);
|
|
12742
12776
|
return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
|
|
12743
12777
|
ref: formRef
|
|
12744
12778
|
}, startAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
@@ -12752,6 +12786,7 @@
|
|
|
12752
12786
|
handleChange: handleChange,
|
|
12753
12787
|
renderOption: handleRenderOption,
|
|
12754
12788
|
options: options,
|
|
12789
|
+
mixedOptions: mixedOptions.current,
|
|
12755
12790
|
handleDefaultOptionChange: handleDefaultOptionChangeCallback,
|
|
12756
12791
|
type: type,
|
|
12757
12792
|
preselectDefaultValue: preselectDefaultValue,
|