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
- // generate a unique name for each instance so radio groups don't collide
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
- if (value.some(function (item) {
43
- return item.value === selectedItem.value;
44
- })) {
45
- onChange(value.filter(function (item) {
46
- return item.value !== selectedItem.value;
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
- onChange([].concat(_toConsumableArray(value), [selectedItem]));
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
- onChange(selectedItem.value === (value === null || value === void 0 ? void 0 : value.value) ? null : selectedItem);
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-400" : ""),
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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabler-react-2",
3
- "version": "0.1.119",
3
+ "version": "0.1.121",
4
4
  "description": "A react implementation of Tabler ui",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {