tabler-react-2 0.1.119 → 0.1.121
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.
|
@@ -34,26 +34,44 @@ var EnclosedSelectGroup = exports.EnclosedSelectGroup = function EnclosedSelectG
|
|
|
34
34
|
_ref$style = _ref.style,
|
|
35
35
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
36
36
|
_ref$itemStyle = _ref.itemStyle,
|
|
37
|
-
itemStyle = _ref$itemStyle === void 0 ? {} : _ref$itemStyle
|
|
38
|
-
|
|
37
|
+
itemStyle = _ref$itemStyle === void 0 ? {} : _ref$itemStyle,
|
|
38
|
+
_ref$small = _ref.small,
|
|
39
|
+
small = _ref$small === void 0 ? false : _ref$small;
|
|
39
40
|
var groupName = (0, _react.useId)();
|
|
40
41
|
var handleChange = function handleChange(selectedItem) {
|
|
41
42
|
if (multiple) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
// get current values as an array of strings
|
|
44
|
+
var selectedValues = Array.isArray(value) ? value.map(function (v) {
|
|
45
|
+
return v.value;
|
|
46
|
+
}) : [];
|
|
47
|
+
var newValues;
|
|
48
|
+
if (selectedValues.includes(selectedItem.value)) {
|
|
49
|
+
// deselect
|
|
50
|
+
newValues = selectedValues.filter(function (v) {
|
|
51
|
+
return v !== selectedItem.value;
|
|
52
|
+
});
|
|
48
53
|
} else {
|
|
49
|
-
|
|
54
|
+
// select
|
|
55
|
+
newValues = [].concat(_toConsumableArray(selectedValues), [selectedItem.value]);
|
|
50
56
|
}
|
|
57
|
+
// map back to full item objects from `items`
|
|
58
|
+
var newSelectedItems = newValues.map(function (val) {
|
|
59
|
+
return items.find(function (item) {
|
|
60
|
+
return item.value === val;
|
|
61
|
+
});
|
|
62
|
+
}).filter(Boolean);
|
|
63
|
+
onChange(newSelectedItems);
|
|
51
64
|
} else {
|
|
52
|
-
|
|
65
|
+
// single-select: toggle off if same, otherwise pick full item
|
|
66
|
+
var isSame = (value === null || value === void 0 ? void 0 : value.value) === selectedItem.value;
|
|
67
|
+
var newSelection = isSame ? null : items.find(function (item) {
|
|
68
|
+
return item.value === selectedItem.value;
|
|
69
|
+
});
|
|
70
|
+
onChange(newSelection);
|
|
53
71
|
}
|
|
54
72
|
};
|
|
55
73
|
var isChecked = function isChecked(item) {
|
|
56
|
-
return multiple ? value.some(function (val) {
|
|
74
|
+
return multiple ? Array.isArray(value) && value.some(function (val) {
|
|
57
75
|
return val.value === item.value;
|
|
58
76
|
}) : (value === null || value === void 0 ? void 0 : value.value) === item.value;
|
|
59
77
|
};
|
|
@@ -83,7 +101,7 @@ var EnclosedSelectGroup = exports.EnclosedSelectGroup = function EnclosedSelectG
|
|
|
83
101
|
disabled: item.disabled,
|
|
84
102
|
className: "form-selectgroup-input"
|
|
85
103
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
86
|
-
className: "form-selectgroup-label d-flex p-3 ".concat(item.disabled ? "bg-gray-
|
|
104
|
+
className: "form-selectgroup-label d-flex ".concat(small ? "p-2" : "p-3", " ").concat(item.disabled ? "bg-gray-200" : ""),
|
|
87
105
|
style: {
|
|
88
106
|
pointerEvents: item.disabled ? "none" : undefined,
|
|
89
107
|
cursor: item.disabled ? "not-allowed" : undefined
|
|
@@ -117,5 +135,6 @@ EnclosedSelectGroup.propTypes = {
|
|
|
117
135
|
direction: _propTypes["default"].oneOf(["row", "column"]),
|
|
118
136
|
itemClassName: _propTypes["default"].string,
|
|
119
137
|
style: _propTypes["default"].object,
|
|
120
|
-
itemStyle: _propTypes["default"].object
|
|
138
|
+
itemStyle: _propTypes["default"].object,
|
|
139
|
+
small: _propTypes["default"].bool
|
|
121
140
|
};
|