tabler-react-2 0.1.162 → 0.1.164
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/alert/index.js
CHANGED
|
@@ -35,7 +35,11 @@ var Alert = exports.Alert = function Alert(_ref) {
|
|
|
35
35
|
}
|
|
36
36
|
}, icon && /*#__PURE__*/_react["default"].createElement("div", {
|
|
37
37
|
className: "me-2"
|
|
38
|
-
}, icon), /*#__PURE__*/_react["default"].createElement("div",
|
|
38
|
+
}, icon), /*#__PURE__*/_react["default"].createElement("div", {
|
|
39
|
+
style: {
|
|
40
|
+
flex: 1
|
|
41
|
+
}
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
39
43
|
className: "alert-title alert-heading"
|
|
40
44
|
}, title), /*#__PURE__*/_react["default"].createElement("div", {
|
|
41
45
|
className: "text-secondary ".concat(props.contentClassName),
|
package/dist/input/checkbox.js
CHANGED
|
@@ -1,26 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.Checkbox = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
exports.PARTIAL = exports.Checkbox = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
-
var _excluded = ["value", "onChange", "label", "required", "className"];
|
|
11
|
+
var _excluded = ["value", "onChange", "label", "required", "className", "naked", "inputClassName"];
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
12
15
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
16
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
14
17
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
18
|
+
var PARTIAL = exports.PARTIAL = "PARTIAL";
|
|
15
19
|
var Checkbox = exports.Checkbox = function Checkbox(_ref) {
|
|
16
20
|
var _ref$value = _ref.value,
|
|
17
21
|
value = _ref$value === void 0 ? false : _ref$value,
|
|
18
|
-
|
|
22
|
+
onChange = _ref.onChange,
|
|
19
23
|
label = _ref.label,
|
|
20
24
|
_ref$required = _ref.required,
|
|
21
25
|
required = _ref$required === void 0 ? false : _ref$required,
|
|
22
26
|
className = _ref.className,
|
|
27
|
+
_ref$naked = _ref.naked,
|
|
28
|
+
naked = _ref$naked === void 0 ? false : _ref$naked,
|
|
29
|
+
inputClassName = _ref.inputClassName,
|
|
23
30
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
var ref = (0, _react.useRef)(null);
|
|
32
|
+
var isPartial = value === PARTIAL;
|
|
33
|
+
(0, _react.useEffect)(function () {
|
|
34
|
+
if (ref.current) ref.current.indeterminate = isPartial;
|
|
35
|
+
}, [isPartial]);
|
|
36
|
+
var handleChange = function handleChange(e) {
|
|
37
|
+
if (isPartial) {
|
|
38
|
+
onChange(false); // clicking partial -> deselect
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
onChange(e.target.checked);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
// Standalone (wrapped) checkbox gets visible partial styling
|
|
45
|
+
var partialInputStyle = !naked && isPartial ? {
|
|
46
|
+
outline: "2px dashed var(--tblr-primary, #0a837f)",
|
|
47
|
+
outlineOffset: 2,
|
|
48
|
+
borderColor: "var(--tblr-primary, #0a837f)",
|
|
49
|
+
backgroundColor: "rgba(10, 131, 127, 0.12)",
|
|
50
|
+
backgroundImage: "linear-gradient(to bottom, transparent calc(50% - 1px), var(--tblr-primary, #0a837f) 0, var(--tblr-primary, #0a837f) 2px, transparent 0)",
|
|
51
|
+
backgroundRepeat: "no-repeat",
|
|
52
|
+
backgroundSize: "70% 100%",
|
|
53
|
+
backgroundPosition: "center",
|
|
54
|
+
accentColor: "var(--tblr-primary, #0a837f)",
|
|
55
|
+
cursor: "pointer"
|
|
56
|
+
} : undefined;
|
|
57
|
+
if (naked) {
|
|
58
|
+
// IMPORTANT: no visual styling here; in EnclosedSelectGroup the input is hidden by CSS
|
|
59
|
+
// and the label provides the visible UI. We keep it clean to avoid breaking that.
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement("input", _extends({
|
|
61
|
+
ref: ref,
|
|
62
|
+
type: "checkbox",
|
|
63
|
+
className: (0, _classnames["default"])(inputClassName),
|
|
64
|
+
checked: Boolean(value) && !isPartial,
|
|
65
|
+
"aria-checked": isPartial ? "mixed" : Boolean(value),
|
|
66
|
+
onChange: handleChange
|
|
67
|
+
}, props));
|
|
68
|
+
}
|
|
24
69
|
return /*#__PURE__*/_react["default"].createElement("label", _extends({
|
|
25
70
|
className: (0, _classnames["default"])("form-check", className),
|
|
26
71
|
style: {
|
|
@@ -29,22 +74,28 @@ var Checkbox = exports.Checkbox = function Checkbox(_ref) {
|
|
|
29
74
|
gap: 8
|
|
30
75
|
}
|
|
31
76
|
}, props), /*#__PURE__*/_react["default"].createElement("input", {
|
|
32
|
-
|
|
77
|
+
ref: ref,
|
|
78
|
+
className: (0, _classnames["default"])("form-check-input"),
|
|
33
79
|
type: "checkbox",
|
|
34
|
-
checked: value,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
39
|
-
className: "form-check-label
|
|
80
|
+
checked: Boolean(value) && !isPartial,
|
|
81
|
+
"aria-checked": isPartial ? "mixed" : Boolean(value),
|
|
82
|
+
onChange: handleChange,
|
|
83
|
+
style: partialInputStyle
|
|
84
|
+
}), label && /*#__PURE__*/_react["default"].createElement("span", {
|
|
85
|
+
className: (0, _classnames["default"])("form-check-label", {
|
|
86
|
+
required: required
|
|
87
|
+
}),
|
|
40
88
|
style: {
|
|
41
89
|
textAlign: "left"
|
|
42
90
|
}
|
|
43
91
|
}, label));
|
|
44
92
|
};
|
|
45
93
|
Checkbox.propTypes = {
|
|
46
|
-
value: _propTypes["default"].bool.isRequired,
|
|
94
|
+
value: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].oneOf([PARTIAL])]).isRequired,
|
|
47
95
|
onChange: _propTypes["default"].func.isRequired,
|
|
48
|
-
label: _propTypes["default"].
|
|
49
|
-
required: _propTypes["default"].bool
|
|
96
|
+
label: _propTypes["default"].node,
|
|
97
|
+
required: _propTypes["default"].bool,
|
|
98
|
+
className: _propTypes["default"].string,
|
|
99
|
+
naked: _propTypes["default"].bool,
|
|
100
|
+
inputClassName: _propTypes["default"].string
|
|
50
101
|
};
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.EnclosedSelectGroup = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _checkbox = require("./checkbox");
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
12
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -21,6 +22,15 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
21
22
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
22
23
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
23
24
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
25
|
+
var findEntry = function findEntry(valueProp, item) {
|
|
26
|
+
if (Array.isArray(valueProp)) return valueProp.find(function (v) {
|
|
27
|
+
return (v === null || v === void 0 ? void 0 : v.value) === item.value;
|
|
28
|
+
}) || null;
|
|
29
|
+
return valueProp && valueProp.value === item.value ? valueProp : null;
|
|
30
|
+
};
|
|
31
|
+
var isEntryPartial = function isEntryPartial(entry) {
|
|
32
|
+
return Boolean((entry === null || entry === void 0 ? void 0 : entry.state) === _checkbox.PARTIAL || (entry === null || entry === void 0 ? void 0 : entry.partial) === true);
|
|
33
|
+
};
|
|
24
34
|
var EnclosedSelectGroup = exports.EnclosedSelectGroup = function EnclosedSelectGroup(_ref) {
|
|
25
35
|
var items = _ref.items,
|
|
26
36
|
value = _ref.value,
|
|
@@ -38,43 +48,59 @@ var EnclosedSelectGroup = exports.EnclosedSelectGroup = function EnclosedSelectG
|
|
|
38
48
|
_ref$small = _ref.small,
|
|
39
49
|
small = _ref$small === void 0 ? false : _ref$small;
|
|
40
50
|
var groupName = (0, _react.useId)();
|
|
51
|
+
var isChecked = function isChecked(item) {
|
|
52
|
+
if (multiple) {
|
|
53
|
+
if (!Array.isArray(value)) return false;
|
|
54
|
+
var _entry = findEntry(value, item);
|
|
55
|
+
return Boolean(_entry) && !isEntryPartial(_entry);
|
|
56
|
+
}
|
|
57
|
+
var entry = findEntry(value, item);
|
|
58
|
+
return Boolean(entry) && !isEntryPartial(entry);
|
|
59
|
+
};
|
|
60
|
+
var isPartial = function isPartial(item) {
|
|
61
|
+
if (multiple) {
|
|
62
|
+
if (!Array.isArray(value)) return false;
|
|
63
|
+
var _entry2 = findEntry(value, item);
|
|
64
|
+
return isEntryPartial(_entry2);
|
|
65
|
+
}
|
|
66
|
+
var entry = findEntry(value, item);
|
|
67
|
+
return isEntryPartial(entry);
|
|
68
|
+
};
|
|
41
69
|
var handleChange = function handleChange(selectedItem) {
|
|
42
70
|
if (multiple) {
|
|
43
|
-
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
});
|
|
53
|
-
} else {
|
|
54
|
-
// select
|
|
55
|
-
newValues = [].concat(_toConsumableArray(selectedValues), [selectedItem.value]);
|
|
71
|
+
var current = Array.isArray(value) ? value : [];
|
|
72
|
+
var entry = findEntry(current, selectedItem);
|
|
73
|
+
var currentlyPartial = isEntryPartial(entry);
|
|
74
|
+
var currentlySelected = Boolean(entry);
|
|
75
|
+
if (currentlyPartial) {
|
|
76
|
+
onChange(current.filter(function (v) {
|
|
77
|
+
return v.value !== selectedItem.value;
|
|
78
|
+
}));
|
|
79
|
+
return;
|
|
56
80
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
81
|
+
if (currentlySelected) {
|
|
82
|
+
onChange(current.filter(function (v) {
|
|
83
|
+
return v.value !== selectedItem.value;
|
|
84
|
+
}));
|
|
85
|
+
} else {
|
|
86
|
+
var full = items.find(function (i) {
|
|
87
|
+
return i.value === selectedItem.value;
|
|
61
88
|
});
|
|
62
|
-
|
|
63
|
-
|
|
89
|
+
onChange([].concat(_toConsumableArray(current), [full]).filter(Boolean));
|
|
90
|
+
}
|
|
64
91
|
} else {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return
|
|
92
|
+
var _entry3 = findEntry(value, selectedItem);
|
|
93
|
+
if (isEntryPartial(_entry3)) {
|
|
94
|
+
onChange(null);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
var isSame = (value === null || value === void 0 ? void 0 : value.value) === selectedItem.value && !isEntryPartial(_entry3);
|
|
98
|
+
var newSelection = isSame ? null : items.find(function (i) {
|
|
99
|
+
return i.value === selectedItem.value;
|
|
69
100
|
});
|
|
70
101
|
onChange(newSelection);
|
|
71
102
|
}
|
|
72
103
|
};
|
|
73
|
-
var isChecked = function isChecked(item) {
|
|
74
|
-
return multiple ? Array.isArray(value) && value.some(function (val) {
|
|
75
|
-
return val.value === item.value;
|
|
76
|
-
}) : (value === null || value === void 0 ? void 0 : value.value) === item.value;
|
|
77
|
-
};
|
|
78
104
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
79
105
|
className: "form-selectgroup",
|
|
80
106
|
style: _objectSpread({
|
|
@@ -82,19 +108,51 @@ var EnclosedSelectGroup = exports.EnclosedSelectGroup = function EnclosedSelectG
|
|
|
82
108
|
flexDirection: direction
|
|
83
109
|
}, style)
|
|
84
110
|
}, items.map(function (item) {
|
|
111
|
+
var partial = isPartial(item);
|
|
112
|
+
var checked = isChecked(item);
|
|
113
|
+
|
|
114
|
+
// Visual: communicate PARTIAL on the checkbox glyph only.
|
|
115
|
+
var checkWrapStyle = partial ? {
|
|
116
|
+
position: "relative",
|
|
117
|
+
background: "rgba(0,0,0,0.15)",
|
|
118
|
+
border: "none"
|
|
119
|
+
} : undefined;
|
|
120
|
+
var dashStyle = partial ? {
|
|
121
|
+
position: "absolute",
|
|
122
|
+
top: "50%",
|
|
123
|
+
left: "50%",
|
|
124
|
+
transform: "translate(-50%, -50%)",
|
|
125
|
+
width: small ? 10 : 12,
|
|
126
|
+
height: 2,
|
|
127
|
+
background: "rgba(0,0,0,0.55)",
|
|
128
|
+
borderRadius: 1,
|
|
129
|
+
pointerEvents: "none"
|
|
130
|
+
} : undefined;
|
|
85
131
|
return /*#__PURE__*/_react["default"].createElement("label", {
|
|
86
132
|
key: "".concat(groupName, "-").concat(item.value),
|
|
87
133
|
className: "form-selectgroup-item flex-fill ".concat(itemClassName),
|
|
88
134
|
style: _objectSpread({
|
|
89
135
|
pointerEvents: item.disabled ? "none" : undefined,
|
|
90
|
-
cursor: item.disabled ? "not-allowed" :
|
|
136
|
+
cursor: item.disabled ? "not-allowed" : "pointer"
|
|
91
137
|
}, itemStyle)
|
|
92
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
93
|
-
|
|
138
|
+
}, multiple ? /*#__PURE__*/_react["default"].createElement(_checkbox.Checkbox, {
|
|
139
|
+
naked: true,
|
|
140
|
+
inputClassName: "form-selectgroup-input",
|
|
141
|
+
id: "".concat(groupName, "-").concat(item.value),
|
|
142
|
+
name: groupName,
|
|
143
|
+
value: partial ? _checkbox.PARTIAL : checked,
|
|
144
|
+
"aria-checked": partial ? "mixed" : checked,
|
|
145
|
+
onChange: function onChange() {
|
|
146
|
+
return handleChange(item);
|
|
147
|
+
},
|
|
148
|
+
disabled: item.disabled
|
|
149
|
+
}) : /*#__PURE__*/_react["default"].createElement("input", {
|
|
150
|
+
type: "radio",
|
|
94
151
|
name: groupName,
|
|
95
152
|
id: "".concat(groupName, "-").concat(item.value),
|
|
96
153
|
value: item.value,
|
|
97
|
-
checked:
|
|
154
|
+
checked: checked,
|
|
155
|
+
"aria-checked": partial ? "mixed" : checked,
|
|
98
156
|
onChange: function onChange() {
|
|
99
157
|
return handleChange(item);
|
|
100
158
|
},
|
|
@@ -103,33 +161,36 @@ var EnclosedSelectGroup = exports.EnclosedSelectGroup = function EnclosedSelectG
|
|
|
103
161
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
162
|
className: "form-selectgroup-label d-flex ".concat(small ? "p-2" : "p-3", " ").concat(item.disabled ? "bg-gray-200" : ""),
|
|
105
163
|
style: {
|
|
106
|
-
|
|
107
|
-
cursor: item.disabled ? "not-allowed" : undefined
|
|
164
|
+
alignItems: "center"
|
|
108
165
|
}
|
|
109
166
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
110
167
|
className: "me-3"
|
|
111
168
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
112
|
-
className: "form-selectgroup-check"
|
|
113
|
-
|
|
169
|
+
className: "form-selectgroup-check",
|
|
170
|
+
style: checkWrapStyle,
|
|
171
|
+
"aria-hidden": true
|
|
172
|
+
}, partial && /*#__PURE__*/_react["default"].createElement("span", {
|
|
173
|
+
style: dashStyle
|
|
174
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
114
175
|
style: {
|
|
115
176
|
textAlign: "left"
|
|
116
177
|
}
|
|
117
178
|
}, item.label)));
|
|
118
179
|
}));
|
|
119
180
|
};
|
|
181
|
+
var valueShape = _propTypes["default"].shape({
|
|
182
|
+
value: _propTypes["default"].string.isRequired,
|
|
183
|
+
label: _propTypes["default"].any,
|
|
184
|
+
state: _propTypes["default"].oneOf([_checkbox.PARTIAL]),
|
|
185
|
+
partial: _propTypes["default"].bool
|
|
186
|
+
});
|
|
120
187
|
EnclosedSelectGroup.propTypes = {
|
|
121
188
|
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
122
189
|
value: _propTypes["default"].string.isRequired,
|
|
123
190
|
label: _propTypes["default"].node.isRequired,
|
|
124
191
|
disabled: _propTypes["default"].bool
|
|
125
192
|
})).isRequired,
|
|
126
|
-
value: _propTypes["default"].oneOfType([_propTypes["default"].
|
|
127
|
-
value: _propTypes["default"].string.isRequired,
|
|
128
|
-
label: _propTypes["default"].any
|
|
129
|
-
}), _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
130
|
-
value: _propTypes["default"].string.isRequired,
|
|
131
|
-
label: _propTypes["default"].any
|
|
132
|
-
}))]).isRequired,
|
|
193
|
+
value: _propTypes["default"].oneOfType([valueShape, _propTypes["default"].arrayOf(valueShape)]).isRequired,
|
|
133
194
|
onChange: _propTypes["default"].func.isRequired,
|
|
134
195
|
multiple: _propTypes["default"].bool,
|
|
135
196
|
direction: _propTypes["default"].oneOf(["row", "column"]),
|
|
@@ -143,3 +143,45 @@ The `direction` prop can be used to change the direction of the items.
|
|
|
143
143
|
multiple
|
|
144
144
|
/>
|
|
145
145
|
```
|
|
146
|
+
|
|
147
|
+
## Partial
|
|
148
|
+
|
|
149
|
+
We can set the partial state of a select group item by setting its value to `PARTIAL`.
|
|
150
|
+
|
|
151
|
+
<Excerpt>
|
|
152
|
+
<ControlledEnclosedSelectGroup
|
|
153
|
+
items={[
|
|
154
|
+
{ value: "one", label: <u>One</u> },
|
|
155
|
+
{ value: "two", label: "Two" },
|
|
156
|
+
{ value: "three", label: "Three" },
|
|
157
|
+
]}
|
|
158
|
+
value={[
|
|
159
|
+
{
|
|
160
|
+
value: "one",
|
|
161
|
+
state: "PARTIAL",
|
|
162
|
+
},
|
|
163
|
+
]}
|
|
164
|
+
onChange={console.log}
|
|
165
|
+
direction="column"
|
|
166
|
+
multiple
|
|
167
|
+
/>
|
|
168
|
+
</Excerpt>
|
|
169
|
+
|
|
170
|
+
```jsx
|
|
171
|
+
<EnclosedSelectGroup
|
|
172
|
+
items={[
|
|
173
|
+
{ value: "one", label: <u>One</u> },
|
|
174
|
+
{ value: "two", label: "Two" },
|
|
175
|
+
{ value: "three", label: "Three" },
|
|
176
|
+
]}
|
|
177
|
+
value={[
|
|
178
|
+
{
|
|
179
|
+
value: "one",
|
|
180
|
+
state: "PARTIAL",
|
|
181
|
+
},
|
|
182
|
+
]}
|
|
183
|
+
onChange={console.log}
|
|
184
|
+
direction="column"
|
|
185
|
+
multiple
|
|
186
|
+
/>
|
|
187
|
+
```
|