@activecollab/components 2.0.75 → 2.0.77
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/Checkbox/Styles.js +4 -2
- package/dist/cjs/components/Checkbox/Styles.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/Checkbox/Styles.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Styles.js +1 -1
- package/dist/esm/components/Checkbox/Styles.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 +49 -12
- 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
|
@@ -11240,11 +11240,13 @@
|
|
|
11240
11240
|
var StyledCheckbox$1 = styled__default["default"].div.withConfig({
|
|
11241
11241
|
displayName: "Styles__StyledCheckbox",
|
|
11242
11242
|
componentId: "sc-y7zymm-2"
|
|
11243
|
-
})(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{pointer-events:none;opacity:0.5;}", ":focus ~ ", "{
|
|
11243
|
+
})(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{pointer-events:none;opacity:0.5;}", ":focus ~ ", "{", "}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], function (props) {
|
|
11244
11244
|
return !props.mixed && styled.css(["stroke:var(--color-theme-500);"]);
|
|
11245
11245
|
}, function (props) {
|
|
11246
11246
|
return props.mixed && styled.css(["stroke:transparent;"]);
|
|
11247
|
-
}, StyledInput$3, StyledLabel, StyledInput$3, StyledLabel,
|
|
11247
|
+
}, StyledInput$3, StyledLabel, StyledInput$3, StyledLabel, function (props) {
|
|
11248
|
+
return !props.mixed && styled.css(["rect{stroke:var(--color-secondary);stroke-width:3px;}"]);
|
|
11249
|
+
}, StyledInput$3, StyledLabel, function (props) {
|
|
11248
11250
|
return props.mixed && styled.css(["stroke:transparent;"]);
|
|
11249
11251
|
}, function (props) {
|
|
11250
11252
|
return props.hover && !props.mixed && styled.css(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput$3, StyledLabel);
|
|
@@ -12076,7 +12078,9 @@
|
|
|
12076
12078
|
onChange = _ref.onChange,
|
|
12077
12079
|
setHover = _ref.setHover,
|
|
12078
12080
|
renderOptions = _ref.renderOptions,
|
|
12079
|
-
optionGroupClassName = _ref.optionGroupClassName
|
|
12081
|
+
optionGroupClassName = _ref.optionGroupClassName,
|
|
12082
|
+
_ref$mixedOptions = _ref.mixedOptions,
|
|
12083
|
+
mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions;
|
|
12080
12084
|
var list = React.useMemo(function () {
|
|
12081
12085
|
return filter ? options.filter(function (v) {
|
|
12082
12086
|
return v.name.toLowerCase().includes(filter.trim().toLowerCase());
|
|
@@ -12106,6 +12110,13 @@
|
|
|
12106
12110
|
return option.id;
|
|
12107
12111
|
});
|
|
12108
12112
|
}, [options]);
|
|
12113
|
+
var isMixed = React.useMemo(function () {
|
|
12114
|
+
return (options.some(function (option) {
|
|
12115
|
+
return checked.includes(option.id);
|
|
12116
|
+
}) || mixedOptions.some(function (item) {
|
|
12117
|
+
return allOptionValues.includes(item);
|
|
12118
|
+
})) && !isAllOptionsChecked;
|
|
12119
|
+
}, [allOptionValues, checked, isAllOptionsChecked, mixedOptions, options]);
|
|
12109
12120
|
var handleClick = React.useCallback(function (e) {
|
|
12110
12121
|
e.stopPropagation();
|
|
12111
12122
|
if (onChange) {
|
|
@@ -12135,9 +12146,7 @@
|
|
|
12135
12146
|
}, name), type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
|
|
12136
12147
|
id: `${id}`,
|
|
12137
12148
|
checked: isAllOptionsChecked,
|
|
12138
|
-
mixed:
|
|
12139
|
-
return checked.includes(option.id);
|
|
12140
|
-
}) && !isAllOptionsChecked,
|
|
12149
|
+
mixed: isMixed,
|
|
12141
12150
|
onChange: handleClick,
|
|
12142
12151
|
type: "checkbox"
|
|
12143
12152
|
}))), /*#__PURE__*/React__default["default"].createElement(List, null, list.map(function (item, index) {
|
|
@@ -12176,7 +12185,9 @@
|
|
|
12176
12185
|
keepSameOptionsOrder = _ref$keepSameOptionsO === void 0 ? false : _ref$keepSameOptionsO,
|
|
12177
12186
|
_ref$autoHeightMax = _ref.autoHeightMax,
|
|
12178
12187
|
autoHeightMax = _ref$autoHeightMax === void 0 ? 340 : _ref$autoHeightMax,
|
|
12179
|
-
clearInputOnSelect = _ref.clearInputOnSelect
|
|
12188
|
+
clearInputOnSelect = _ref.clearInputOnSelect,
|
|
12189
|
+
_ref$mixedOptions = _ref.mixedOptions,
|
|
12190
|
+
mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions;
|
|
12180
12191
|
var itemRef = React.useRef(null);
|
|
12181
12192
|
var listRef = React.useRef(null);
|
|
12182
12193
|
var selectedOptions = React.useMemo(function () {
|
|
@@ -12420,7 +12431,8 @@
|
|
|
12420
12431
|
renderOptions: handleRenderOption,
|
|
12421
12432
|
type: type,
|
|
12422
12433
|
onChange: handleChange,
|
|
12423
|
-
filter: filter
|
|
12434
|
+
filter: filter,
|
|
12435
|
+
mixedOptions: mixedOptions
|
|
12424
12436
|
});
|
|
12425
12437
|
}
|
|
12426
12438
|
return /*#__PURE__*/React__default["default"].createElement(Option, {
|
|
@@ -12443,7 +12455,7 @@
|
|
|
12443
12455
|
}
|
|
12444
12456
|
})
|
|
12445
12457
|
});
|
|
12446
|
-
}, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
|
|
12458
|
+
}, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange, mixedOptions]);
|
|
12447
12459
|
var handleOnMouseLeave = React.useCallback(function () {
|
|
12448
12460
|
setHover({
|
|
12449
12461
|
item: undefined,
|
|
@@ -12631,6 +12643,27 @@
|
|
|
12631
12643
|
return [...acc, ...allGroupOptions];
|
|
12632
12644
|
}, []);
|
|
12633
12645
|
}, [selectOptions]);
|
|
12646
|
+
var getMixedOptionsRecursively = React.useCallback(function (options) {
|
|
12647
|
+
var mixedOptions = [];
|
|
12648
|
+
options.forEach(function (option) {
|
|
12649
|
+
if (option.mixed) {
|
|
12650
|
+
mixedOptions.push(option);
|
|
12651
|
+
}
|
|
12652
|
+
if (isOptionGroup(option) && option.options && option.options.length > 0) {
|
|
12653
|
+
var nestedMixedOptions = getMixedOptionsRecursively(option.options);
|
|
12654
|
+
mixedOptions = mixedOptions.concat(nestedMixedOptions);
|
|
12655
|
+
}
|
|
12656
|
+
});
|
|
12657
|
+
return mixedOptions;
|
|
12658
|
+
}, []);
|
|
12659
|
+
var mixedOptions = React.useRef(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(function (item) {
|
|
12660
|
+
return item.id;
|
|
12661
|
+
}) : []);
|
|
12662
|
+
var removeFromMixedOptions = React.useCallback(function (idsToRemove) {
|
|
12663
|
+
mixedOptions.current = mixedOptions.current.filter(function (mixedOption) {
|
|
12664
|
+
return !idsToRemove.includes(mixedOption);
|
|
12665
|
+
});
|
|
12666
|
+
}, []);
|
|
12634
12667
|
var isAllOptionsChecked = React.useMemo(function () {
|
|
12635
12668
|
return allOptionValues.every(function (option) {
|
|
12636
12669
|
return selectedOptions.includes(option);
|
|
@@ -12654,8 +12687,9 @@
|
|
|
12654
12687
|
}
|
|
12655
12688
|
if (selectedValue !== undefined && selectedValue !== selected && !(selectedValue instanceof Array && selectedValue.includes(undefined))) {
|
|
12656
12689
|
onChange(selectedValue);
|
|
12690
|
+
type === "multiple" && mixedOptions.current.length && removeFromMixedOptions(selectedValue);
|
|
12657
12691
|
}
|
|
12658
|
-
}, [forceCloseMenu, selected, onSelectClose, onChange]);
|
|
12692
|
+
}, [forceCloseMenu, selected, onSelectClose, onChange, type, removeFromMixedOptions]);
|
|
12659
12693
|
var onClose = React.useCallback(function () {
|
|
12660
12694
|
setOpen(false);
|
|
12661
12695
|
if (onSelectClose) {
|
|
@@ -12737,8 +12771,10 @@
|
|
|
12737
12771
|
mixed: someOptionsChecked && !isAllOptionsChecked
|
|
12738
12772
|
}, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, _extends({
|
|
12739
12773
|
checked: selectedOptions.length < 1 || !selectedOptions[0]
|
|
12740
|
-
}, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox,
|
|
12741
|
-
|
|
12774
|
+
}, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, _extends({
|
|
12775
|
+
mixed: mixedOptions.current.includes(option.id)
|
|
12776
|
+
}, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, props));
|
|
12777
|
+
}, [isAllOptionsChecked, renderOption, type, someOptionsChecked, selectedOptions]);
|
|
12742
12778
|
return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
|
|
12743
12779
|
ref: formRef
|
|
12744
12780
|
}, startAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
@@ -12752,6 +12788,7 @@
|
|
|
12752
12788
|
handleChange: handleChange,
|
|
12753
12789
|
renderOption: handleRenderOption,
|
|
12754
12790
|
options: options,
|
|
12791
|
+
mixedOptions: mixedOptions.current,
|
|
12755
12792
|
handleDefaultOptionChange: handleDefaultOptionChangeCallback,
|
|
12756
12793
|
type: type,
|
|
12757
12794
|
preselectDefaultValue: preselectDefaultValue,
|