@ntbjs/react-components 1.3.0-rc.59 → 1.3.0-rc.6-patch.1
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/.eslintrc +8 -7
- package/{ActionButton-b2345555.js → ActionButton-dea072f4.js} +16 -19
- package/{Alert-d69a3f95.js → Alert-347a66eb.js} +24 -20
- package/{AssetAction-9622c4f9.js → AssetGallery-f24a8bb1.js} +651 -606
- package/AssetPreviewTopBar-b64d4665.js +99 -0
- package/{Badge-e984e6f5.js → Badge-b5d734ce.js} +49 -28
- package/{Button-090fb526.js → Button-211d92ec.js} +85 -94
- package/{Checkbox-ad9c9e54.js → Checkbox-b6f6fabf.js} +35 -30
- package/{CompactAutocompleteSelect-26949125.js → CompactAutocompleteSelect-15a10abb.js} +114 -82
- package/{CompactStarRating-65bf27e5.js → CompactStarRating-821494e0.js} +94 -83
- package/{CompactTextInput-60edc635.js → CompactTextInput-ca8a67af.js} +106 -110
- package/{ContextMenu-4eb8fdc5.js → ContextMenu-d269f2b4.js} +6 -6
- package/{ContextMenuItem-c536b460.js → ContextMenuItem-960e1acf.js} +26 -22
- package/{InputGroup-a89a0ea3.js → InputGroup-b5ebae07.js} +6 -6
- package/{Instructions-dbd4514c.js → Instructions-6bfa0f6e.js} +81 -97
- package/{MultiLevelCheckboxSelect-3d5d5f2c.js → MultiLevelCheckboxSelect-b145322d.js} +164 -102
- package/{MultiSelect-cdfe6ffa.js → MultiSelect-b2459602.js} +101 -71
- package/{Popover-52d29ca6.js → Popover-ec433aaf.js} +40 -41
- package/{Radio-55db4781.js → Radio-2ab61f91.js} +22 -21
- package/{SectionSeparator-af8dc1ce.js → SectionSeparator-a28c6af2.js} +6 -6
- package/{Switch-04ecd8d0.js → Switch-e3289575.js} +27 -25
- package/{Tab-e43241f0.js → Tab-91278790.js} +7 -7
- package/{Tabs-cfc08c6b.js → Tabs-2a0f1d84.js} +43 -39
- package/{TextArea-44b4d3c4.js → TextArea-8c8757d9.js} +125 -93
- package/{TextInput-c3c71881.js → TextInput-4cac4342.js} +50 -48
- package/{Tooltip-a68a7e49.js → Tooltip-978b6cdd.js} +13 -13
- package/{VerificationStatusIcon-7b0e23fe.js → VerificationStatusIcon-ad0159e3.js} +30 -20
- package/{close-1751121a.js → close-ebf2f3cf.js} +12 -8
- package/data/Alert/index.js +2 -2
- package/data/Badge/index.js +2 -2
- package/data/Popover/index.js +3 -3
- package/data/Tab/index.js +2 -2
- package/data/Tabs/index.js +3 -3
- package/data/Tooltip/index.js +3 -3
- package/data/index.js +9 -9
- package/{defaultTheme-cd01e6c2.js → defaultTheme-44832997.js} +261 -213
- package/edit-note-c47d292e.js +41 -0
- package/{expand-more-d74e2bd2.js → expand-more-94585605.js} +12 -8
- package/inputs/ActionButton/index.js +2 -2
- package/inputs/Button/index.js +6 -6
- package/inputs/Checkbox/index.js +2 -2
- package/inputs/CompactAutocompleteSelect/index.js +13 -13
- package/inputs/CompactStarRating/index.js +10 -10
- package/inputs/CompactTextInput/index.js +11 -11
- package/inputs/MultiSelect/index.js +4 -4
- package/inputs/Radio/index.js +2 -2
- package/inputs/Switch/index.js +2 -2
- package/inputs/TextArea/index.js +11 -11
- package/inputs/TextInput/index.js +3 -3
- package/inputs/index.js +28 -28
- package/layout/InputGroup/index.js +2 -2
- package/layout/SectionSeparator/index.js +2 -2
- package/layout/index.js +3 -3
- package/package.json +1 -2
- package/{react-select-creatable.esm-383b1e78.js → react-select-creatable.esm-2f23d6c6.js} +1285 -1414
- package/{shift-away-subtle-631cd794.js → shift-away-subtle-22739ae8.js} +1 -1
- package/ssr/index.js +3 -1
- package/styles/config.scss +2 -2
- package/warning-circle-24522402.js +41 -0
- package/widgets/AssetGallery/index.js +32 -34
- package/widgets/AssetPreview/AssetPreviewTopBar/index.js +3 -3
- package/widgets/ContextMenu/ContextMenuItem/index.js +2 -2
- package/widgets/ContextMenu/ContextMenuItemsGroup/index.js +6 -6
- package/widgets/ContextMenu/index.js +2 -2
- package/widgets/Instructions/index.js +17 -16
- package/widgets/index.js +35 -37
- package/AssetPreviewTopBar-b1fe3188.js +0 -104
- package/edit-note-cefe2215.js +0 -37
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var defaultTheme = require('./defaultTheme-
|
|
3
|
+
var defaultTheme = require('./defaultTheme-44832997.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var styled = require('styled-components');
|
|
6
|
-
require('./Alert-
|
|
7
|
-
require('./Badge-
|
|
8
|
-
var Popover = require('./Popover-
|
|
9
|
-
require('./Tab-
|
|
10
|
-
require('./Tabs-
|
|
11
|
-
require('./Tooltip-
|
|
12
|
-
require('./VerificationStatusIcon-
|
|
13
|
-
var Checkbox = require('./Checkbox-
|
|
6
|
+
require('./Alert-347a66eb.js');
|
|
7
|
+
require('./Badge-b5d734ce.js');
|
|
8
|
+
var Popover = require('./Popover-ec433aaf.js');
|
|
9
|
+
require('./Tab-91278790.js');
|
|
10
|
+
require('./Tabs-2a0f1d84.js');
|
|
11
|
+
require('./Tooltip-978b6cdd.js');
|
|
12
|
+
require('./VerificationStatusIcon-ad0159e3.js');
|
|
13
|
+
var Checkbox = require('./Checkbox-b6f6fabf.js');
|
|
14
14
|
var lodash = require('lodash');
|
|
15
|
-
var TextInput = require('./TextInput-
|
|
16
|
-
require('./InputGroup-
|
|
17
|
-
var SectionSeparator = require('./SectionSeparator-
|
|
18
|
-
var close = require('./close-
|
|
15
|
+
var TextInput = require('./TextInput-4cac4342.js');
|
|
16
|
+
require('./InputGroup-b5ebae07.js');
|
|
17
|
+
var SectionSeparator = require('./SectionSeparator-a28c6af2.js');
|
|
18
|
+
var close = require('./close-ebf2f3cf.js');
|
|
19
19
|
|
|
20
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
21
|
|
|
@@ -28,12 +28,14 @@ function _interopNamespace(e) {
|
|
|
28
28
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
29
29
|
Object.defineProperty(n, k, d.get ? d : {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () {
|
|
31
|
+
get: function () {
|
|
32
|
+
return e[k];
|
|
33
|
+
}
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
36
|
});
|
|
35
37
|
}
|
|
36
|
-
n[
|
|
38
|
+
n['default'] = e;
|
|
37
39
|
return Object.freeze(n);
|
|
38
40
|
}
|
|
39
41
|
|
|
@@ -41,36 +43,38 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
41
43
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
42
44
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
43
45
|
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
47
|
+
|
|
48
|
+
var _ref = /*#__PURE__*/React__namespace.createElement("path", {
|
|
49
|
+
fill: "currentColor",
|
|
50
|
+
d: "M17.153 15.094h-1.084l-.385-.37a8.933 8.933 0 10-.96.96l.37.385v1.084L21.955 24 24 21.955zm-8.234 0a6.175 6.175 0 116.175-6.175 6.167 6.167 0 01-6.175 6.175z"
|
|
51
|
+
});
|
|
52
|
+
|
|
46
53
|
function SvgSearch(props) {
|
|
47
54
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends({
|
|
48
55
|
xmlns: "http://www.w3.org/2000/svg",
|
|
49
56
|
viewBox: "0 0 24 24"
|
|
50
|
-
}, props),
|
|
51
|
-
fill: "currentColor",
|
|
52
|
-
d: "M17.153 15.094h-1.084l-.385-.37a8.933 8.933 0 10-.96.96l.37.385v1.084L21.955 24 24 21.955zm-8.234 0a6.175 6.175 0 116.175-6.175 6.167 6.167 0 01-6.175 6.175z"
|
|
53
|
-
})));
|
|
57
|
+
}, props), _ref);
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1;
|
|
57
|
-
var MultiLevelCheckbox$1 = styled__default[
|
|
58
|
-
var MultiLevelCheckboxLegend = styled__default[
|
|
61
|
+
var MultiLevelCheckbox$1 = styled__default['default'].fieldset.attrs(defaultTheme.applyDefaultTheme)(_templateObject$1 || (_templateObject$1 = defaultTheme._taggedTemplateLiteral(["\n padding: 0;\n border: 0;\n margin: 0;\n"])));
|
|
62
|
+
var MultiLevelCheckboxLegend = styled__default['default'].legend.attrs(defaultTheme.applyDefaultTheme)(_templateObject2$1 || (_templateObject2$1 = defaultTheme._taggedTemplateLiteral(["\n line-height: 1.2;\n font-size: 0.75rem;\n padding: 0 0 4px;\n letter-spacing: 0.03em;\n ", "\n"])), function (props) {
|
|
59
63
|
return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
|
|
60
64
|
});
|
|
61
|
-
var MultiLevelCheckboxNoResults = styled__default[
|
|
62
|
-
var CheckboxTreeChildren = styled__default[
|
|
65
|
+
var MultiLevelCheckboxNoResults = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3$1 || (_templateObject3$1 = defaultTheme._taggedTemplateLiteral(["\n text-align: center;\n opacity: 0.7;\n font-size: 0.875rem;\n"])));
|
|
66
|
+
var CheckboxTreeChildren = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4$1 || (_templateObject4$1 = defaultTheme._taggedTemplateLiteral(["\n display: grid;\n grid-template-rows: 0fr;\n padding-left: 28px;\n transition: grid-template-rows 250ms;\n\n & > div {\n overflow: hidden;\n }\n\n ", "\n}\n"])), function (props) {
|
|
63
67
|
return props.$expanded && styled.css(_templateObject5$1 || (_templateObject5$1 = defaultTheme._taggedTemplateLiteral(["\n grid-template-rows: 1fr;\n "])));
|
|
64
68
|
});
|
|
65
|
-
var CheckboxTree$1 = styled__default[
|
|
66
|
-
var CheckboxTreeCheckboxContainer = styled__default[
|
|
67
|
-
var ExpandTreeButton = styled__default[
|
|
69
|
+
var CheckboxTree$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6$1 || (_templateObject6$1 = defaultTheme._taggedTemplateLiteral(["\n width: fit-content;\n"])));
|
|
70
|
+
var CheckboxTreeCheckboxContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7$1 || (_templateObject7$1 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n margin-top: 4px;\n"])));
|
|
71
|
+
var ExpandTreeButton = styled__default['default'].button.attrs(defaultTheme.applyDefaultTheme)(_templateObject8$1 || (_templateObject8$1 = defaultTheme._taggedTemplateLiteral(["\n -webkit-appearance: none;\n background: none;\n border: none;\n position: absolute;\n height: 100%;\n cursor: pointer;\n color: currentColor;\n\n & > svg {\n display: block;\n width: 10px;\n transform: rotate(-90deg);\n transition: transform 250ms;\n\n ", "\n }\n}\n"])), function (props) {
|
|
68
72
|
return props.$expanded && styled.css(_templateObject9$1 || (_templateObject9$1 = defaultTheme._taggedTemplateLiteral(["\n transform: rotate(0deg);\n "])));
|
|
69
73
|
});
|
|
70
74
|
|
|
71
|
-
var _excluded$1 = ["options", "checked", "search", "label", "noResultsText", "onChange"];
|
|
72
75
|
function findChildValues(node) {
|
|
73
76
|
var result = [];
|
|
77
|
+
|
|
74
78
|
function traverse(node) {
|
|
75
79
|
if (lodash.isArray(node.children) && node.children.length > 0) {
|
|
76
80
|
node.children.forEach(function (child) {
|
|
@@ -79,46 +83,58 @@ function findChildValues(node) {
|
|
|
79
83
|
});
|
|
80
84
|
}
|
|
81
85
|
}
|
|
86
|
+
|
|
82
87
|
traverse(node);
|
|
83
88
|
return result;
|
|
84
89
|
}
|
|
90
|
+
|
|
85
91
|
function hasChildrenSelected(node, targetValue, checkedValues) {
|
|
86
92
|
if (!lodash.isArray(node.children) || node.children.length === 0) {
|
|
87
93
|
return false;
|
|
88
94
|
}
|
|
95
|
+
|
|
89
96
|
if (node.children.some(function (childNode) {
|
|
90
97
|
return checkedValues.includes(childNode.value);
|
|
91
98
|
})) {
|
|
92
99
|
return true;
|
|
93
100
|
}
|
|
101
|
+
|
|
94
102
|
return node.children.some(function (childNode) {
|
|
95
103
|
return hasChildrenSelected(childNode, childNode.value, checkedValues);
|
|
96
104
|
});
|
|
97
105
|
}
|
|
106
|
+
|
|
98
107
|
function hasAllChildrenSelected(node, targetValue, checkedValues) {
|
|
99
108
|
if (!node.children || node.children.length === 0) {
|
|
100
109
|
return checkedValues.includes(node.value);
|
|
101
110
|
}
|
|
111
|
+
|
|
102
112
|
if (node.children.some(function (childNode) {
|
|
103
113
|
return !checkedValues.includes(childNode.value);
|
|
104
114
|
})) {
|
|
105
115
|
return false;
|
|
106
116
|
}
|
|
117
|
+
|
|
107
118
|
return node.children.every(function (childNode) {
|
|
108
119
|
return hasAllChildrenSelected(childNode, childNode.value, checkedValues);
|
|
109
120
|
});
|
|
110
121
|
}
|
|
122
|
+
|
|
111
123
|
function getLabelByValue(targetValue, nodes) {
|
|
112
124
|
var _iterator = defaultTheme._createForOfIteratorHelper(nodes),
|
|
113
|
-
|
|
125
|
+
_step;
|
|
126
|
+
|
|
114
127
|
try {
|
|
115
128
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
116
129
|
var node = _step.value;
|
|
130
|
+
|
|
117
131
|
if (node.value === targetValue) {
|
|
118
132
|
return node.label;
|
|
119
133
|
}
|
|
134
|
+
|
|
120
135
|
if (node.children) {
|
|
121
136
|
var result = getLabelByValue(targetValue, node.children);
|
|
137
|
+
|
|
122
138
|
if (result) {
|
|
123
139
|
return result;
|
|
124
140
|
}
|
|
@@ -129,24 +145,29 @@ function getLabelByValue(targetValue, nodes) {
|
|
|
129
145
|
} finally {
|
|
130
146
|
_iterator.f();
|
|
131
147
|
}
|
|
148
|
+
|
|
132
149
|
return null;
|
|
133
150
|
}
|
|
134
|
-
|
|
151
|
+
|
|
152
|
+
var MultiLevelCheckbox = React__default['default'].forwardRef(function MultiLevelCheckbox(_ref, forwardedRef) {
|
|
135
153
|
var options = _ref.options,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
154
|
+
checked = _ref.checked,
|
|
155
|
+
search = _ref.search,
|
|
156
|
+
label = _ref.label,
|
|
157
|
+
noResultsText = _ref.noResultsText,
|
|
158
|
+
onChange = _ref.onChange,
|
|
159
|
+
props = defaultTheme._objectWithoutProperties(_ref, ["options", "checked", "search", "label", "noResultsText", "onChange"]);
|
|
160
|
+
|
|
142
161
|
var _useState = React.useState(includeAllChildren(checked, options)),
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
162
|
+
_useState2 = defaultTheme._slicedToArray(_useState, 2),
|
|
163
|
+
internalChecked = _useState2[0],
|
|
164
|
+
setInternalChecked = _useState2[1];
|
|
165
|
+
|
|
146
166
|
var anySearchResults = React.useMemo(function () {
|
|
147
167
|
if (lodash.isEmpty(search)) {
|
|
148
168
|
return true;
|
|
149
169
|
}
|
|
170
|
+
|
|
150
171
|
return options.some(function (node) {
|
|
151
172
|
var childValues = findChildValues(node);
|
|
152
173
|
return [node.value].concat(defaultTheme._toConsumableArray(childValues)).map(function (v) {
|
|
@@ -156,26 +177,32 @@ var MultiLevelCheckbox = React__default["default"].forwardRef(function MultiLeve
|
|
|
156
177
|
});
|
|
157
178
|
});
|
|
158
179
|
}, [options, search]);
|
|
180
|
+
|
|
159
181
|
function includeAllChildren(checked, nodes) {
|
|
160
182
|
var honorParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
161
183
|
var newChecked = [];
|
|
184
|
+
|
|
162
185
|
function fillSiblings(nodes) {
|
|
163
186
|
nodes.forEach(function (node) {
|
|
164
187
|
if (hasAllChildrenSelected(node, node.value, checked)) {
|
|
165
188
|
newChecked.push(node.value);
|
|
166
189
|
}
|
|
190
|
+
|
|
167
191
|
if (honorParent && checked.includes(node.value)) {
|
|
168
192
|
var childValues = findChildValues(node);
|
|
169
193
|
return newChecked = newChecked.concat([node.value].concat(defaultTheme._toConsumableArray(childValues)));
|
|
170
194
|
}
|
|
195
|
+
|
|
171
196
|
if (node.children) {
|
|
172
197
|
fillSiblings(node.children);
|
|
173
198
|
}
|
|
174
199
|
});
|
|
175
200
|
}
|
|
201
|
+
|
|
176
202
|
fillSiblings(nodes);
|
|
177
203
|
return newChecked;
|
|
178
204
|
}
|
|
205
|
+
|
|
179
206
|
var onAdd = React.useCallback(function (values) {
|
|
180
207
|
setInternalChecked(function (prevChecked) {
|
|
181
208
|
return lodash.uniq(includeAllChildren([].concat(defaultTheme._toConsumableArray(prevChecked), defaultTheme._toConsumableArray(values)), options));
|
|
@@ -196,10 +223,10 @@ var MultiLevelCheckbox = React__default["default"].forwardRef(function MultiLeve
|
|
|
196
223
|
setInternalChecked(includeAllChildren(checked, options));
|
|
197
224
|
}
|
|
198
225
|
}, [checked, options]);
|
|
199
|
-
return React__default[
|
|
226
|
+
return React__default['default'].createElement(MultiLevelCheckbox$1, defaultTheme._extends({}, props, {
|
|
200
227
|
ref: forwardedRef
|
|
201
|
-
}), label && React__default[
|
|
202
|
-
return React__default[
|
|
228
|
+
}), label && React__default['default'].createElement(MultiLevelCheckboxLegend, null, label), options.map(function (node) {
|
|
229
|
+
return React__default['default'].createElement(CheckboxTree, {
|
|
203
230
|
key: node.value,
|
|
204
231
|
nodes: options,
|
|
205
232
|
node: node,
|
|
@@ -210,7 +237,7 @@ var MultiLevelCheckbox = React__default["default"].forwardRef(function MultiLeve
|
|
|
210
237
|
onRemove: onRemove,
|
|
211
238
|
search: search
|
|
212
239
|
});
|
|
213
|
-
}), !anySearchResults && React__default[
|
|
240
|
+
}), !anySearchResults && React__default['default'].createElement(MultiLevelCheckboxNoResults, null, noResultsText));
|
|
214
241
|
});
|
|
215
242
|
var NodeType = defaultTheme.PropTypes.shape({
|
|
216
243
|
label: defaultTheme.PropTypes.string.isRequired,
|
|
@@ -233,22 +260,25 @@ MultiLevelCheckbox.defaultProps = {
|
|
|
233
260
|
options: [],
|
|
234
261
|
noResultsText: 'No results.'
|
|
235
262
|
};
|
|
236
|
-
var CheckboxTree = React__default[
|
|
263
|
+
var CheckboxTree = React__default['default'].memo(function CheckboxTree(_ref2) {
|
|
237
264
|
var node = _ref2.node,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
265
|
+
nodes = _ref2.nodes,
|
|
266
|
+
checked = _ref2.checked,
|
|
267
|
+
onAdd = _ref2.onAdd,
|
|
268
|
+
onRemove = _ref2.onRemove,
|
|
269
|
+
_ref2$search = _ref2.search,
|
|
270
|
+
search = _ref2$search === void 0 ? '' : _ref2$search;
|
|
271
|
+
|
|
244
272
|
var _useState3 = React.useState(false),
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
273
|
+
_useState4 = defaultTheme._slicedToArray(_useState3, 2),
|
|
274
|
+
expanded = _useState4[0],
|
|
275
|
+
setExpanded = _useState4[1];
|
|
276
|
+
|
|
248
277
|
var _useState5 = React.useState(false),
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
278
|
+
_useState6 = defaultTheme._slicedToArray(_useState5, 2),
|
|
279
|
+
expandedBySearch = _useState6[0],
|
|
280
|
+
setExpandedBySearch = _useState6[1];
|
|
281
|
+
|
|
252
282
|
var onChange = React.useCallback(function (event) {
|
|
253
283
|
if (event.target.checked) {
|
|
254
284
|
onAdd([event.target.value].concat(defaultTheme._toConsumableArray(findChildValues(node))));
|
|
@@ -260,12 +290,14 @@ var CheckboxTree = React__default["default"].memo(function CheckboxTree(_ref2) {
|
|
|
260
290
|
if (hasAllChildrenSelected(node, '', [].concat(defaultTheme._toConsumableArray(newValues), defaultTheme._toConsumableArray(checked)))) {
|
|
261
291
|
return onAdd([node.value].concat(defaultTheme._toConsumableArray(newValues)));
|
|
262
292
|
}
|
|
293
|
+
|
|
263
294
|
onAdd(newValues);
|
|
264
295
|
}, [node, checked, onAdd]);
|
|
265
296
|
var hideOption = React.useMemo(function () {
|
|
266
297
|
if (lodash.isEmpty(search)) {
|
|
267
298
|
return;
|
|
268
299
|
}
|
|
300
|
+
|
|
269
301
|
var childValues = findChildValues(node);
|
|
270
302
|
return ![node.value].concat(defaultTheme._toConsumableArray(childValues)).map(function (v) {
|
|
271
303
|
return getLabelByValue(v, nodes);
|
|
@@ -282,10 +314,12 @@ var CheckboxTree = React__default["default"].memo(function CheckboxTree(_ref2) {
|
|
|
282
314
|
});
|
|
283
315
|
setExpandedBySearch(expandBySearch);
|
|
284
316
|
}, [search, nodes, node.value]);
|
|
317
|
+
|
|
285
318
|
if (hideOption) {
|
|
286
319
|
return null;
|
|
287
320
|
}
|
|
288
|
-
|
|
321
|
+
|
|
322
|
+
return React__default['default'].createElement(CheckboxTree$1, null, React__default['default'].createElement(CheckboxTreeCheckboxContainer, null, lodash.isArray(node.children) && node.children.length > 0 && React__default['default'].createElement(ExpandTreeButton, {
|
|
289
323
|
$expanded: expanded || expandedBySearch,
|
|
290
324
|
type: "button",
|
|
291
325
|
onClick: function onClick() {
|
|
@@ -297,17 +331,18 @@ var CheckboxTree = React__default["default"].memo(function CheckboxTree(_ref2) {
|
|
|
297
331
|
return !v;
|
|
298
332
|
});
|
|
299
333
|
}
|
|
334
|
+
|
|
300
335
|
return false;
|
|
301
336
|
});
|
|
302
337
|
}
|
|
303
|
-
}, React__default[
|
|
338
|
+
}, React__default['default'].createElement("svg", {
|
|
304
339
|
xmlns: "http://www.w3.org/2000/svg",
|
|
305
340
|
viewBox: "0 0 12 7.4"
|
|
306
|
-
}, React__default[
|
|
341
|
+
}, React__default['default'].createElement("path", {
|
|
307
342
|
fill: "currentColor",
|
|
308
343
|
d: "m6,7.4L0,1.4,1.4,0l4.6,4.6L10.6,0l1.4,1.4-6,6Z",
|
|
309
344
|
strokeWidth: "0"
|
|
310
|
-
}))), React__default[
|
|
345
|
+
}))), React__default['default'].createElement(Checkbox.Checkbox, {
|
|
311
346
|
style: {
|
|
312
347
|
paddingLeft: 24
|
|
313
348
|
},
|
|
@@ -317,10 +352,10 @@ var CheckboxTree = React__default["default"].memo(function CheckboxTree(_ref2) {
|
|
|
317
352
|
checked: hasChildrenSelected(node, node.value, checked) || checked.includes(node.value),
|
|
318
353
|
value: node.value,
|
|
319
354
|
onChange: onChange
|
|
320
|
-
})), node.children && React__default[
|
|
355
|
+
})), node.children && React__default['default'].createElement(CheckboxTreeChildren, {
|
|
321
356
|
$expanded: expanded || expandedBySearch
|
|
322
|
-
}, React__default[
|
|
323
|
-
return React__default[
|
|
357
|
+
}, React__default['default'].createElement("div", null, node.children.map(function (childNode) {
|
|
358
|
+
return React__default['default'].createElement(CheckboxTree, {
|
|
324
359
|
key: childNode.value,
|
|
325
360
|
checked: checked.filter(function (c) {
|
|
326
361
|
return [childNode.value].concat(defaultTheme._toConsumableArray(findChildValues(childNode))).includes(c);
|
|
@@ -359,31 +394,31 @@ CheckboxTree.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
359
394
|
} : {};
|
|
360
395
|
|
|
361
396
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
362
|
-
var MultiLevelCheckboxSelect$1 = styled__default[
|
|
397
|
+
var MultiLevelCheckboxSelect$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n"])), function (props) {
|
|
363
398
|
return props.theme.primaryFontFamily;
|
|
364
399
|
});
|
|
365
|
-
var MultiLevelCheckboxSelectInput = styled__default[
|
|
400
|
+
var MultiLevelCheckboxSelectInput = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n border: 1px solid;\n ", "\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n min-height: 44px;\n box-sizing: border-box;\n padding: 8px 6px;\n border-radius: 3px;\n transition: border-color 350ms;\n\n &:focus-within {\n ", "\n }\n"])), function (props) {
|
|
366
401
|
return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
|
|
367
402
|
}, function (props) {
|
|
368
403
|
return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'), 1);
|
|
369
404
|
});
|
|
370
|
-
var Item = styled__default[
|
|
371
|
-
var ItemLabel = styled__default[
|
|
372
|
-
var ItemRemoveButton = styled__default[
|
|
405
|
+
var Item = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n background: #272727;\n color: #f7f8f9;\n font-size: 12px;\n height: 26px;\n border-radius: 3px;\n"])));
|
|
406
|
+
var ItemLabel = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n padding: 0 5px 0 8px;\n"])));
|
|
407
|
+
var ItemRemoveButton = styled__default['default'].button.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n color: inherit;\n border: none;\n background: none;\n -webkit-appearance: none;\n height: 100%;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n padding: 0 7px;\n cursor: pointer;\n\n &:hover {\n background: ", ";\n }\n\n & > svg {\n width: 8px;\n display: block;\n }\n"])), function (props) {
|
|
373
408
|
return props.theme.getColor('red-500');
|
|
374
409
|
});
|
|
375
|
-
var Label = styled__default[
|
|
410
|
+
var Label = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: -8px;\n left: 7px;\n line-height: 1.2;\n font-size: 0.75rem;\n font-weight: 400;\n padding: 0 3px;\n //padding: 0 0 4px;\n letter-spacing: 0.03em;\n ", "\n ", "\n"])), function (props) {
|
|
376
411
|
return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
|
|
377
412
|
}, function (props) {
|
|
378
413
|
return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
|
|
379
414
|
});
|
|
380
|
-
var Placeholder = styled__default[
|
|
381
|
-
var PopoverContainer = styled__default[
|
|
382
|
-
var PopoverHeader = styled__default[
|
|
415
|
+
var Placeholder = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.875rem;\n line-height: 26px;\n padding-left: 4px;\n opacity: 0.4;\n"])));
|
|
416
|
+
var PopoverContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n max-height: inherit;\n display: flex;\n flex-direction: column;\n"])));
|
|
417
|
+
var PopoverHeader = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), function (props) {
|
|
383
418
|
return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'));
|
|
384
419
|
});
|
|
385
|
-
var SearchContainer = styled__default[
|
|
386
|
-
var OptionsContainer = styled__default[
|
|
420
|
+
var SearchContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n padding: 12px 8px;\n"])));
|
|
421
|
+
var OptionsContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n padding: 12px 8px;\n overflow: auto;\n box-sizing: border-box;\n"])));
|
|
387
422
|
|
|
388
423
|
var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
389
424
|
|
|
@@ -394,11 +429,14 @@ function useEventListener(eventName, handler, element, options) {
|
|
|
394
429
|
}, [handler]);
|
|
395
430
|
React.useEffect(function () {
|
|
396
431
|
var _element$current;
|
|
432
|
+
|
|
397
433
|
var targetElement = (_element$current = element === null || element === void 0 ? void 0 : element.current) !== null && _element$current !== void 0 ? _element$current : window;
|
|
398
434
|
if (!(targetElement && targetElement.addEventListener)) return;
|
|
435
|
+
|
|
399
436
|
var listener = function listener(event) {
|
|
400
437
|
return savedHandler.current(event);
|
|
401
438
|
};
|
|
439
|
+
|
|
402
440
|
targetElement.addEventListener(eventName, listener, options);
|
|
403
441
|
return function () {
|
|
404
442
|
targetElement.removeEventListener(eventName, listener, options);
|
|
@@ -410,9 +448,11 @@ function useOnClickOutside(ref, handler) {
|
|
|
410
448
|
var mouseEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'mousedown';
|
|
411
449
|
useEventListener(mouseEvent, function (event) {
|
|
412
450
|
var el = ref === null || ref === void 0 ? void 0 : ref.current;
|
|
451
|
+
|
|
413
452
|
if (!el || el.contains(event.target)) {
|
|
414
453
|
return;
|
|
415
454
|
}
|
|
455
|
+
|
|
416
456
|
handler(event);
|
|
417
457
|
});
|
|
418
458
|
}
|
|
@@ -450,34 +490,39 @@ function useUpdateEffect(fn, deps) {
|
|
|
450
490
|
}, deps);
|
|
451
491
|
}
|
|
452
492
|
|
|
453
|
-
var
|
|
454
|
-
var MultiLevelCheckboxSelect = React__default["default"].forwardRef(function MultiLevelCheckboxSelect(_ref, forwardedRef) {
|
|
493
|
+
var MultiLevelCheckboxSelect = React__default['default'].forwardRef(function MultiLevelCheckboxSelect(_ref, forwardedRef) {
|
|
455
494
|
var label = _ref.label,
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
495
|
+
options = _ref.options,
|
|
496
|
+
checkedProp = _ref.checked,
|
|
497
|
+
placeholder = _ref.placeholder,
|
|
498
|
+
noResultsText = _ref.noResultsText,
|
|
499
|
+
onChange = _ref.onChange,
|
|
500
|
+
onParentChange = _ref.onParentChange,
|
|
501
|
+
props = defaultTheme._objectWithoutProperties(_ref, ["label", "options", "checked", "placeholder", "noResultsText", "onChange", "onParentChange"]);
|
|
502
|
+
|
|
463
503
|
var inputRef = React.useRef(null);
|
|
464
504
|
var popoverContentRef = React.useRef(null);
|
|
465
505
|
var searchInputRef = React.useRef(null);
|
|
506
|
+
|
|
466
507
|
var _useState = React.useState(''),
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
508
|
+
_useState2 = defaultTheme._slicedToArray(_useState, 2),
|
|
509
|
+
searchString = _useState2[0],
|
|
510
|
+
setSearchString = _useState2[1];
|
|
511
|
+
|
|
470
512
|
var _useState3 = React.useState(false),
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
513
|
+
_useState4 = defaultTheme._slicedToArray(_useState3, 2),
|
|
514
|
+
open = _useState4[0],
|
|
515
|
+
setOpen = _useState4[1];
|
|
516
|
+
|
|
474
517
|
var handleClickInside = React.useCallback(function () {
|
|
475
518
|
var _searchInputRef$curre;
|
|
519
|
+
|
|
476
520
|
setOpen(true);
|
|
477
521
|
(_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
|
|
478
522
|
}, []);
|
|
479
523
|
var handleKeyDown = React.useCallback(function (event) {
|
|
480
524
|
if (!open) return;
|
|
525
|
+
|
|
481
526
|
if (event.key === 'Escape') {
|
|
482
527
|
setOpen(false);
|
|
483
528
|
}
|
|
@@ -485,41 +530,53 @@ var MultiLevelCheckboxSelect = React__default["default"].forwardRef(function Mul
|
|
|
485
530
|
useEventListener('focus', handleClickInside, inputRef);
|
|
486
531
|
useEventListener('mousedown', handleClickInside, inputRef);
|
|
487
532
|
useEventListener('keydown', handleKeyDown);
|
|
533
|
+
|
|
488
534
|
var handleClickOutside = function handleClickOutside(event) {
|
|
489
535
|
var _popoverContentRef$cu;
|
|
536
|
+
|
|
490
537
|
if ((popoverContentRef === null || popoverContentRef === void 0 ? void 0 : popoverContentRef.current) === event.target || popoverContentRef !== null && popoverContentRef !== void 0 && (_popoverContentRef$cu = popoverContentRef.current) !== null && _popoverContentRef$cu !== void 0 && _popoverContentRef$cu.contains(event.target)) {
|
|
491
538
|
return;
|
|
492
539
|
}
|
|
540
|
+
|
|
493
541
|
setOpen(false);
|
|
494
542
|
};
|
|
543
|
+
|
|
495
544
|
useOnClickOutside(inputRef, handleClickOutside);
|
|
496
545
|
var checked = React.useMemo(function () {
|
|
497
546
|
var checkedParents = [];
|
|
547
|
+
|
|
498
548
|
function iterate(nodes) {
|
|
499
549
|
nodes.forEach(function (node) {
|
|
500
550
|
if (checkedProp.includes(node.value)) {
|
|
501
551
|
return checkedParents.push(node.value);
|
|
502
552
|
}
|
|
553
|
+
|
|
503
554
|
if (node.children) {
|
|
504
555
|
iterate(node.children);
|
|
505
556
|
}
|
|
506
557
|
});
|
|
507
558
|
}
|
|
559
|
+
|
|
508
560
|
iterate(options);
|
|
509
561
|
return checkedParents.sort();
|
|
510
562
|
}, [JSON.stringify(options), JSON.stringify(checkedProp)]);
|
|
511
563
|
var getLabelByValue = React.useCallback(function (targetValue) {
|
|
512
564
|
var nodes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options;
|
|
565
|
+
|
|
513
566
|
var _iterator = defaultTheme._createForOfIteratorHelper(nodes),
|
|
514
|
-
|
|
567
|
+
_step;
|
|
568
|
+
|
|
515
569
|
try {
|
|
516
570
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
517
571
|
var node = _step.value;
|
|
572
|
+
|
|
518
573
|
if (node.value === targetValue) {
|
|
519
574
|
return node.label;
|
|
520
575
|
}
|
|
576
|
+
|
|
521
577
|
if (node.children) {
|
|
522
578
|
var result = getLabelByValue(targetValue, node.children);
|
|
579
|
+
|
|
523
580
|
if (result) {
|
|
524
581
|
return result;
|
|
525
582
|
}
|
|
@@ -530,22 +587,27 @@ var MultiLevelCheckboxSelect = React__default["default"].forwardRef(function Mul
|
|
|
530
587
|
} finally {
|
|
531
588
|
_iterator.f();
|
|
532
589
|
}
|
|
590
|
+
|
|
533
591
|
return null;
|
|
534
592
|
}, [options]);
|
|
535
593
|
var removeItem = React.useCallback(function (value) {
|
|
536
594
|
var node = null;
|
|
595
|
+
|
|
537
596
|
function findNodeByValue(options, value) {
|
|
538
597
|
for (var i = 0; i < options.length; i++) {
|
|
539
598
|
if (options[i].value === value) {
|
|
540
599
|
node = options[i];
|
|
541
600
|
break;
|
|
542
601
|
}
|
|
602
|
+
|
|
543
603
|
if (options[i].children) {
|
|
544
604
|
findNodeByValue(options[i].children, value);
|
|
545
605
|
}
|
|
546
606
|
}
|
|
547
607
|
}
|
|
608
|
+
|
|
548
609
|
findNodeByValue(options, value);
|
|
610
|
+
|
|
549
611
|
if (node) {
|
|
550
612
|
var childValues = findChildValues(node);
|
|
551
613
|
var valuesToRemove = [value].concat(defaultTheme._toConsumableArray(childValues));
|
|
@@ -559,9 +621,9 @@ var MultiLevelCheckboxSelect = React__default["default"].forwardRef(function Mul
|
|
|
559
621
|
onParentChange(checked);
|
|
560
622
|
}
|
|
561
623
|
}, [checked]);
|
|
562
|
-
return React__default[
|
|
624
|
+
return React__default['default'].createElement(MultiLevelCheckboxSelect$1, defaultTheme._extends({
|
|
563
625
|
ref: forwardedRef
|
|
564
|
-
}, props), React__default[
|
|
626
|
+
}, props), React__default['default'].createElement(Popover.Popover, {
|
|
565
627
|
visible: open,
|
|
566
628
|
arrow: false,
|
|
567
629
|
placement: 'bottom',
|
|
@@ -580,38 +642,38 @@ var MultiLevelCheckboxSelect = React__default["default"].forwardRef(function Mul
|
|
|
580
642
|
state.elements.popper.style.width = "".concat(state.elements.reference.offsetWidth, "px");
|
|
581
643
|
}
|
|
582
644
|
}],
|
|
583
|
-
content: React__default[
|
|
645
|
+
content: React__default['default'].createElement(PopoverContainer, {
|
|
584
646
|
ref: popoverContentRef
|
|
585
|
-
}, React__default[
|
|
647
|
+
}, React__default['default'].createElement(PopoverHeader, null, React__default['default'].createElement(SearchContainer, null, React__default['default'].createElement(TextInput.TextInput, {
|
|
586
648
|
ref: searchInputRef,
|
|
587
649
|
onBlur: function onBlur(e) {
|
|
588
650
|
if (open) {
|
|
589
651
|
e.target.focus();
|
|
590
652
|
}
|
|
591
653
|
},
|
|
592
|
-
icon: React__default[
|
|
654
|
+
icon: React__default['default'].createElement(SvgSearch, null),
|
|
593
655
|
value: searchString,
|
|
594
656
|
onChange: function onChange(e) {
|
|
595
657
|
return setSearchString(e.target.value);
|
|
596
658
|
}
|
|
597
|
-
})), React__default[
|
|
659
|
+
})), React__default['default'].createElement(SectionSeparator.SectionSeparator, null)), React__default['default'].createElement(OptionsContainer, null, React__default['default'].createElement(MultiLevelCheckbox, {
|
|
598
660
|
options: options,
|
|
599
661
|
checked: checkedProp,
|
|
600
662
|
search: searchString,
|
|
601
663
|
noResultsText: noResultsText,
|
|
602
664
|
onChange: onChange
|
|
603
665
|
})))
|
|
604
|
-
}, React__default[
|
|
666
|
+
}, React__default['default'].createElement(MultiLevelCheckboxSelectInput, {
|
|
605
667
|
tabIndex: "0",
|
|
606
668
|
ref: inputRef
|
|
607
|
-
}, label && React__default[
|
|
608
|
-
return React__default[
|
|
669
|
+
}, label && React__default['default'].createElement(Label, null, label), checked.length === 0 && React__default['default'].createElement(Placeholder, null, placeholder), checked.map(function (option) {
|
|
670
|
+
return React__default['default'].createElement(Item, {
|
|
609
671
|
key: option
|
|
610
|
-
}, React__default[
|
|
672
|
+
}, React__default['default'].createElement(ItemLabel, null, getLabelByValue(option)), React__default['default'].createElement(ItemRemoveButton, {
|
|
611
673
|
onClick: function onClick() {
|
|
612
674
|
removeItem(option);
|
|
613
675
|
}
|
|
614
|
-
}, React__default[
|
|
676
|
+
}, React__default['default'].createElement(close.SvgClose, null)));
|
|
615
677
|
}))));
|
|
616
678
|
});
|
|
617
679
|
MultiLevelCheckboxSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|