@elliemae/ds-treeview 2.0.0-next.7 → 2.0.0-rc.2
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/cjs/TreeView.js +5 -0
- package/cjs/deprecated/TreeView.js +5 -0
- package/cjs/deprecated/__testUtils__/utils.js +9 -1
- package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js +14 -8
- package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js +7 -3
- package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js +20 -15
- package/cjs/deprecated/plugins/dnd/utils.js +41 -34
- package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js +12 -3
- package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js +5 -3
- package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js +52 -33
- package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js +11 -7
- package/cjs/deprecated/plugins/tree/TreeDataPlugin.js +38 -28
- package/cjs/deprecated/plugins/tree/useExpandTreeState.js +8 -5
- package/cjs/deprecated/plugins/tree/utils.js +17 -4
- package/cjs/deprecated/plugins/tree/walkTreeStrategy.js +11 -9
- package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +24 -10
- package/cjs/deprecated/renderers.js +16 -8
- package/cjs/parts/CheckboxSelectable.js +7 -3
- package/cjs/parts/ExpandCaret.js +10 -10
- package/cjs/parts/Icon.js +2 -2
- package/cjs/parts/NestingSpace.js +5 -0
- package/cjs/parts/RadioSelectable.js +2 -3
- package/cjs/parts/TreeItem.js +29 -19
- package/cjs/parts/TreeItemText.js +12 -9
- package/cjs/parts/TreeList.js +17 -7
- package/cjs/related-components/TreeViewSearchBar.js +2 -2
- package/cjs/utils/dnd-helpers.js +29 -25
- package/cjs/utils/group-expands-helpers.js +7 -5
- package/cjs/utils/keyboard-helpers.js +6 -3
- package/cjs/utils/object-helpers.js +8 -0
- package/cjs/utils/refs-helpers.js +11 -1
- package/cjs/utils/selectable-helper.js +9 -2
- package/cjs/utils/tree-helpers.js +26 -8
- package/cjs/utils/useDnDHelpers.js +18 -12
- package/cjs/utils/useInstanceRefActions.js +13 -10
- package/cjs/utils/useTree.js +5 -0
- package/esm/TreeView.js +5 -0
- package/esm/deprecated/TreeView.js +5 -0
- package/esm/deprecated/__testUtils__/utils.js +9 -1
- package/esm/deprecated/plugins/dnd/TreeDndPlugin.js +13 -7
- package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js +6 -1
- package/esm/deprecated/plugins/dnd/renderers/DroppableList.js +17 -11
- package/esm/deprecated/plugins/dnd/utils.js +34 -27
- package/esm/deprecated/plugins/roving/TreeRovingPlugin.js +11 -2
- package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js +4 -1
- package/esm/deprecated/plugins/selectable/SelectablePluginTree.js +44 -22
- package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js +8 -3
- package/esm/deprecated/plugins/tree/TreeDataPlugin.js +28 -16
- package/esm/deprecated/plugins/tree/useExpandTreeState.js +6 -2
- package/esm/deprecated/plugins/tree/utils.js +17 -4
- package/esm/deprecated/plugins/tree/walkTreeStrategy.js +11 -9
- package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +24 -10
- package/esm/deprecated/renderers.js +16 -8
- package/esm/parts/CheckboxSelectable.js +7 -2
- package/esm/parts/ExpandCaret.js +8 -6
- package/esm/parts/Icon.js +1 -1
- package/esm/parts/NestingSpace.js +5 -0
- package/esm/parts/RadioSelectable.js +2 -2
- package/esm/parts/TreeItem.js +29 -18
- package/esm/parts/TreeItemText.js +10 -7
- package/esm/parts/TreeList.js +16 -6
- package/esm/related-components/TreeViewSearchBar.js +1 -1
- package/esm/utils/dnd-helpers.js +29 -25
- package/esm/utils/group-expands-helpers.js +7 -5
- package/esm/utils/keyboard-helpers.js +6 -3
- package/esm/utils/object-helpers.js +8 -0
- package/esm/utils/refs-helpers.js +11 -1
- package/esm/utils/selectable-helper.js +9 -2
- package/esm/utils/tree-helpers.js +26 -8
- package/esm/utils/useDnDHelpers.js +18 -12
- package/esm/utils/useInstanceRefActions.js +13 -10
- package/esm/utils/useTree.js +5 -0
- package/package.json +11 -10
- package/types/deprecated/plugins/tree/useExpandTreeState.d.ts +12 -2
|
@@ -4,16 +4,24 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.some.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.some.js');
|
|
7
10
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
13
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
14
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
15
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
16
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
17
|
var React = require('react');
|
|
9
|
-
var
|
|
10
|
-
var Button = require('@elliemae/ds-
|
|
11
|
-
var
|
|
12
|
-
var ArrowheadRight = require('@elliemae/ds-icons/ArrowheadRight');
|
|
18
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
19
|
+
var Button = require('@elliemae/ds-button');
|
|
20
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
13
21
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
14
22
|
var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
|
|
15
23
|
var walkTreeStrategy = require('./walkTreeStrategy.js');
|
|
16
|
-
var utils
|
|
24
|
+
var utils = require('./utils.js');
|
|
17
25
|
var renderers = require('../../renderers.js');
|
|
18
26
|
var useExpandTreeState = require('./useExpandTreeState.js');
|
|
19
27
|
|
|
@@ -23,8 +31,6 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
23
31
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
24
32
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
33
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
26
|
-
var ArrowheadDown__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadDown);
|
|
27
|
-
var ArrowheadRight__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadRight);
|
|
28
34
|
var createInstancePlugin__default = /*#__PURE__*/_interopDefaultLegacy(createInstancePlugin);
|
|
29
35
|
|
|
30
36
|
var _ArrowheadDown, _ArrowheadRight;
|
|
@@ -64,8 +70,8 @@ const itemRenderer = (value, itemProps, instance) => {
|
|
|
64
70
|
const handleItemClick = React.useCallback(e => {
|
|
65
71
|
onItemClick(record.data, e);
|
|
66
72
|
}, [record.data, onItemClick]);
|
|
67
|
-
const amountChildren = Number(utils
|
|
68
|
-
const renderedLabel =
|
|
73
|
+
const amountChildren = Number(utils.getItemChildrenLength(record));
|
|
74
|
+
const renderedLabel = dsUtilities.isFunction(labelRenderer) && labelRenderer(value, itemProps) || value;
|
|
69
75
|
return /*#__PURE__*/_jsx__default["default"](ItemContent, {
|
|
70
76
|
"data-testid": "".concat(renderers.treeItemBlockName, "-content"),
|
|
71
77
|
onClick: handleItemClick
|
|
@@ -94,9 +100,10 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
94
100
|
}));
|
|
95
101
|
},
|
|
96
102
|
|
|
97
|
-
getItemProps(props, instance, {
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
getItemProps(props, instance, _ref) {
|
|
104
|
+
let {
|
|
105
|
+
record
|
|
106
|
+
} = _ref;
|
|
100
107
|
const {
|
|
101
108
|
nestingLevel
|
|
102
109
|
} = record;
|
|
@@ -122,9 +129,9 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
122
129
|
buttonType: "text",
|
|
123
130
|
className: "expandable-arrow",
|
|
124
131
|
"data-testid": "tree-item-expand-toggle",
|
|
125
|
-
icon: record.expanded ? _ArrowheadDown || (_ArrowheadDown = /*#__PURE__*/_jsx__default["default"](
|
|
132
|
+
icon: record.expanded ? _ArrowheadDown || (_ArrowheadDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowheadDown, {
|
|
126
133
|
"data-testid": "ic-arrow-head-down"
|
|
127
|
-
})) : _ArrowheadRight || (_ArrowheadRight = /*#__PURE__*/_jsx__default["default"](
|
|
134
|
+
})) : _ArrowheadRight || (_ArrowheadRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowheadRight, {
|
|
128
135
|
"data-testid": "ic-arrow-head-right"
|
|
129
136
|
})),
|
|
130
137
|
onClick: e => {
|
|
@@ -139,7 +146,7 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
139
146
|
|
|
140
147
|
const iconAddon = icon && /*#__PURE__*/React__default["default"].cloneElement(icon, {
|
|
141
148
|
'data-testid': record.isGroup ? 'tree-item-group-icon' : 'tree-item-icon',
|
|
142
|
-
className:
|
|
149
|
+
className: dsUtilities.cx(icon.props.className, 'tree-item-icon')
|
|
143
150
|
});
|
|
144
151
|
|
|
145
152
|
const spaceAddon = /*#__PURE__*/_jsx__default["default"]("div", {
|
|
@@ -151,7 +158,7 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
151
158
|
|
|
152
159
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
153
160
|
'data-id': record.id,
|
|
154
|
-
'data-parentid': utils
|
|
161
|
+
'data-parentid': utils.getParentId(record),
|
|
155
162
|
'aria-expanded': !!record.expanded,
|
|
156
163
|
leftAddons: [...(props.leftAddons || []), spaceAddon, expandAddon, iconAddon]
|
|
157
164
|
});
|
|
@@ -173,9 +180,10 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
173
180
|
},
|
|
174
181
|
|
|
175
182
|
hotKeys(instance) {
|
|
176
|
-
function handleExpand({
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
function handleExpand(_ref2) {
|
|
184
|
+
let {
|
|
185
|
+
index
|
|
186
|
+
} = _ref2;
|
|
179
187
|
const {
|
|
180
188
|
records,
|
|
181
189
|
actions: {
|
|
@@ -186,9 +194,10 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
186
194
|
if (record && record.data.children.length > 0) _toggleExpand(record.data);
|
|
187
195
|
}
|
|
188
196
|
|
|
189
|
-
function handleCollapse({
|
|
190
|
-
|
|
191
|
-
|
|
197
|
+
function handleCollapse(_ref3) {
|
|
198
|
+
let {
|
|
199
|
+
index
|
|
200
|
+
} = _ref3;
|
|
192
201
|
const {
|
|
193
202
|
records,
|
|
194
203
|
actions: {
|
|
@@ -219,11 +228,11 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
219
228
|
if (itemToFocus) {
|
|
220
229
|
// eslint-disable-next-line no-unused-expressions
|
|
221
230
|
// eslint-disable-next-line mdx/no-unused-expressions
|
|
222
|
-
utils
|
|
231
|
+
utils.findItemOnDocument(itemToFocus.id) ? utils.findItemOnDocument(itemToFocus.id).focus() : utils.findItemOnDocument(records[0].id).focus();
|
|
223
232
|
} else {
|
|
224
|
-
utils
|
|
233
|
+
utils.getListFromDocument().scrollTo(0, 0);
|
|
225
234
|
setTimeout(() => {
|
|
226
|
-
utils
|
|
235
|
+
utils.findItemOnDocument(records[0].id).focus();
|
|
227
236
|
}, 200);
|
|
228
237
|
}
|
|
229
238
|
});
|
|
@@ -240,9 +249,10 @@ const TreePluginList = createInstancePlugin__default["default"]('tree-data', {
|
|
|
240
249
|
handler: handleCollapse
|
|
241
250
|
}, {
|
|
242
251
|
key: 'enter',
|
|
243
|
-
handler:
|
|
244
|
-
|
|
245
|
-
|
|
252
|
+
handler: _ref4 => {
|
|
253
|
+
let {
|
|
254
|
+
index
|
|
255
|
+
} = _ref4;
|
|
246
256
|
const {
|
|
247
257
|
records,
|
|
248
258
|
actions: {
|
|
@@ -4,15 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
12
|
var React = require('react');
|
|
8
|
-
var
|
|
9
|
-
var utils = require('@elliemae/ds-utilities/utils');
|
|
13
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
10
14
|
var walkTreeStrategy = require('./walkTreeStrategy.js');
|
|
11
15
|
|
|
12
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
17
|
|
|
14
18
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
15
|
-
var useExpandState__default = /*#__PURE__*/_interopDefaultLegacy(useExpandState);
|
|
16
19
|
|
|
17
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
18
21
|
|
|
@@ -47,7 +50,7 @@ const useExpandTreeState = instance => {
|
|
|
47
50
|
onCollapse
|
|
48
51
|
}
|
|
49
52
|
} = instance;
|
|
50
|
-
const expandedState =
|
|
53
|
+
const expandedState = dsUtilities.useExpandState({
|
|
51
54
|
items: originalData,
|
|
52
55
|
itemKey,
|
|
53
56
|
expanded: expandedItemsProp,
|
|
@@ -105,7 +108,7 @@ const useExpandTreeState = instance => {
|
|
|
105
108
|
};
|
|
106
109
|
|
|
107
110
|
const handleToggleExpand = (item, opts) => {
|
|
108
|
-
if (
|
|
111
|
+
if (dsUtilities.isFunction(onToggleExpand)) {
|
|
109
112
|
onToggleExpand(item);
|
|
110
113
|
} else {
|
|
111
114
|
toggleExpand(item, opts);
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
5
8
|
var get = require('lodash/get');
|
|
6
9
|
|
|
7
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -11,10 +14,20 @@ var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
|
|
|
11
14
|
const getParentId = record => get__default["default"](record, ['parentNode', 'id']);
|
|
12
15
|
const findItemOnDocument = id => document.querySelector("[data-id=\"".concat(id, "\"]"));
|
|
13
16
|
const getListFromDocument = () => document.querySelector("[data-testid=\"tree-list\"]");
|
|
14
|
-
const getParentChildren = (record
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const getParentChildren = function (record) {
|
|
18
|
+
let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
|
|
19
|
+
return get__default["default"](record, ['parentNode', 'data', childrenKey]);
|
|
20
|
+
};
|
|
21
|
+
const getItemLabel = function (record) {
|
|
22
|
+
let nameKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'name';
|
|
23
|
+
return get__default["default"](record, ['data', nameKey]);
|
|
24
|
+
};
|
|
25
|
+
const getItemChildren = function (record) {
|
|
26
|
+
let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
|
|
27
|
+
return get__default["default"](record, ['data', childrenKey]);
|
|
28
|
+
};
|
|
29
|
+
const getItemChildrenLength = function (record) {
|
|
30
|
+
let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
|
|
18
31
|
const children = get__default["default"](record, ['data', childrenKey]);
|
|
19
32
|
return children && children.length;
|
|
20
33
|
};
|
|
@@ -9,15 +9,17 @@ function getPath(parentNode, index, childrenKey) {
|
|
|
9
9
|
return [...parentNode.path, childrenKey, index];
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
function walkTreeStrategy({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
function walkTreeStrategy(_ref) {
|
|
13
|
+
let {
|
|
14
|
+
data,
|
|
15
|
+
childrenKey = 'children',
|
|
16
|
+
level = 0,
|
|
17
|
+
getId = item => item.id,
|
|
18
|
+
parentNode,
|
|
19
|
+
shouldWalkChildren = () => true,
|
|
20
|
+
cb
|
|
21
|
+
} = _ref;
|
|
22
|
+
|
|
21
23
|
// eslint-disable-next-line no-plusplus
|
|
22
24
|
for (let i = 0; i < data.length; i++) {
|
|
23
25
|
const currLevel = level + 1;
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
11
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
12
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
@@ -61,11 +66,12 @@ function areEqualRecords(prevProps, nextProps) {
|
|
|
61
66
|
// https://react-window.now.sh/#/examples/list/memoized-list-items
|
|
62
67
|
|
|
63
68
|
|
|
64
|
-
const VirtualizedTreeItem = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React__default["default"].forwardRef(({
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
const VirtualizedTreeItem = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
70
|
+
let {
|
|
71
|
+
index,
|
|
72
|
+
style,
|
|
73
|
+
data
|
|
74
|
+
} = _ref;
|
|
69
75
|
const {
|
|
70
76
|
instance,
|
|
71
77
|
records,
|
|
@@ -96,13 +102,13 @@ const VirtualizedTreeItem = /*#__PURE__*/React__default["default"].memo( /*#__PU
|
|
|
96
102
|
}));
|
|
97
103
|
}), areEqualRecords); // eslint-disable-next-line react/display-name
|
|
98
104
|
|
|
99
|
-
const VirtualizedTree = (renderers$1, instance) =>
|
|
105
|
+
const VirtualizedTree = (renderers$1, instance) => _ref2 => {
|
|
100
106
|
let {
|
|
101
107
|
records,
|
|
102
108
|
itemRenderer,
|
|
103
109
|
innerRef
|
|
104
|
-
} =
|
|
105
|
-
rest = _objectWithoutProperties__default["default"](
|
|
110
|
+
} = _ref2,
|
|
111
|
+
rest = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
106
112
|
|
|
107
113
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
108
114
|
const {
|
|
@@ -164,17 +170,25 @@ const TreeVirtualizationPlugin = createInstancePlugin__default["default"]('tree-
|
|
|
164
170
|
listRef
|
|
165
171
|
},
|
|
166
172
|
actions: {
|
|
167
|
-
scrollTo: (
|
|
173
|
+
scrollTo: function () {
|
|
168
174
|
var _listRef$current;
|
|
169
175
|
|
|
170
176
|
if (listRef !== null && listRef !== void 0 && (_listRef$current = listRef.current) !== null && _listRef$current !== void 0 && _listRef$current.scrollTo) {
|
|
177
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
178
|
+
args[_key] = arguments[_key];
|
|
179
|
+
}
|
|
180
|
+
|
|
171
181
|
listRef.current.scrollTo(args);
|
|
172
182
|
}
|
|
173
183
|
},
|
|
174
|
-
scrollToItem: (
|
|
184
|
+
scrollToItem: function () {
|
|
175
185
|
var _listRef$current2;
|
|
176
186
|
|
|
177
187
|
if (listRef !== null && listRef !== void 0 && (_listRef$current2 = listRef.current) !== null && _listRef$current2 !== void 0 && _listRef$current2.scrollToItem) {
|
|
188
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
189
|
+
args[_key2] = arguments[_key2];
|
|
190
|
+
}
|
|
191
|
+
|
|
178
192
|
listRef.current.scrollToItem(args);
|
|
179
193
|
}
|
|
180
194
|
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
11
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
7
12
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -31,22 +36,25 @@ const TreeListItemAddonsWrapper = dsClassnames.aggregatedClasses('div')(treeItem
|
|
|
31
36
|
const TreeList = dsClassnames.aggregatedClasses('ul', {
|
|
32
37
|
'data-testid': treeListBlockName,
|
|
33
38
|
role: 'tree'
|
|
34
|
-
})(treeListBlockName, null,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
})(treeListBlockName, null, _ref => {
|
|
40
|
+
let {
|
|
41
|
+
rowSize
|
|
42
|
+
} = _ref;
|
|
43
|
+
return {
|
|
44
|
+
["rowsize-".concat(rowSize)]: rowSize
|
|
45
|
+
};
|
|
46
|
+
});
|
|
39
47
|
const TreeListNoItems = dsClassnames.aggregatedClasses('div', {
|
|
40
48
|
'data-testid': treeListNoItemsBn
|
|
41
49
|
})(treeListNoItemsBn);
|
|
42
50
|
|
|
43
|
-
function TreeItem(
|
|
51
|
+
function TreeItem(_ref2) {
|
|
44
52
|
let {
|
|
45
53
|
leftAddons,
|
|
46
54
|
rightAddons,
|
|
47
55
|
children
|
|
48
|
-
} =
|
|
49
|
-
rest = _objectWithoutProperties__default["default"](
|
|
56
|
+
} = _ref2,
|
|
57
|
+
rest = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
50
58
|
|
|
51
59
|
return /*#__PURE__*/jsxRuntime.jsxs(TreeListItem, _objectSpread(_objectSpread({}, rest), {}, {
|
|
52
60
|
children: [leftAddons && /*#__PURE__*/_jsx__default["default"](TreeListItemAddonsWrapper, {}, void 0, leftAddons), children, rightAddons && /*#__PURE__*/_jsx__default["default"](TreeListItemAddonsWrapper, {}, void 0, rightAddons)]
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
9
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
10
|
var React = require('react');
|
|
6
|
-
var
|
|
11
|
+
var dsForm = require('@elliemae/ds-form');
|
|
7
12
|
var styled = require('styled-components');
|
|
8
13
|
var TreeViewContext = require('../TreeViewContext.js');
|
|
9
14
|
var selectableHelper = require('../utils/selectable-helper.js');
|
|
@@ -13,7 +18,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
13
18
|
|
|
14
19
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
15
20
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
16
|
-
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
17
21
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
18
22
|
|
|
19
23
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -71,7 +75,7 @@ function CheckboxSelectable(props) {
|
|
|
71
75
|
|
|
72
76
|
return false;
|
|
73
77
|
}, [selectedCheckboxes, id]);
|
|
74
|
-
return /*#__PURE__*/_jsx__default["default"](StyledCheckboxWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](
|
|
78
|
+
return /*#__PURE__*/_jsx__default["default"](StyledCheckboxWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSCheckbox, {
|
|
75
79
|
checked: isChecked,
|
|
76
80
|
disabled: item.isGroup ? disableGroups : disableLeafs,
|
|
77
81
|
className: "em-ds-tree-item-checkbox",
|
package/cjs/parts/ExpandCaret.js
CHANGED
|
@@ -4,9 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var Button = require('@elliemae/ds-
|
|
8
|
-
var
|
|
9
|
-
var ArrowheadRight = require('@elliemae/ds-icons/ArrowheadRight');
|
|
7
|
+
var Button = require('@elliemae/ds-button');
|
|
8
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
10
9
|
var groupExpandsHelpers = require('../utils/group-expands-helpers.js');
|
|
11
10
|
var treeHelpers = require('../utils/tree-helpers.js');
|
|
12
11
|
var TreeViewContext = require('../TreeViewContext.js');
|
|
@@ -15,8 +14,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
15
14
|
|
|
16
15
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
17
16
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
18
|
-
var ArrowheadDown__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadDown);
|
|
19
|
-
var ArrowheadRight__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadRight);
|
|
20
17
|
|
|
21
18
|
var _ArrowheadDown, _ArrowheadRight;
|
|
22
19
|
const ExpandCaret = props => {
|
|
@@ -48,10 +45,10 @@ const ExpandCaret = props => {
|
|
|
48
45
|
buttonType: "text",
|
|
49
46
|
className: "expandable-arrow",
|
|
50
47
|
"data-testid": "tree-item-expand-toggle",
|
|
51
|
-
icon: isExpanded ? _ArrowheadDown || (_ArrowheadDown = /*#__PURE__*/_jsx__default["default"](
|
|
48
|
+
icon: isExpanded ? _ArrowheadDown || (_ArrowheadDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowheadDown, {
|
|
52
49
|
size: "s",
|
|
53
50
|
"data-testid": "ic-arrow-head-down"
|
|
54
|
-
})) : _ArrowheadRight || (_ArrowheadRight = /*#__PURE__*/_jsx__default["default"](
|
|
51
|
+
})) : _ArrowheadRight || (_ArrowheadRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowheadRight, {
|
|
55
52
|
size: "s",
|
|
56
53
|
"data-testid": "ic-arrow-head-right"
|
|
57
54
|
})),
|
|
@@ -67,9 +64,12 @@ const ExpandCaret = props => {
|
|
|
67
64
|
setLatestToggledItem(item);
|
|
68
65
|
onItemFocus({
|
|
69
66
|
itemIndex: item.virtualIndex,
|
|
70
|
-
scrollToItem: (
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
scrollToItem: function () {
|
|
68
|
+
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
69
|
+
align: 'start'
|
|
70
|
+
};
|
|
71
|
+
return scrollToIndex(item.virtualIndex, opts);
|
|
72
|
+
},
|
|
73
73
|
item
|
|
74
74
|
});
|
|
75
75
|
setFocusedItem(item);
|
package/cjs/parts/Icon.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var
|
|
6
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
7
7
|
var TreeViewContext = require('../TreeViewContext.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -26,7 +26,7 @@ const Icon = props => {
|
|
|
26
26
|
if (!icon) return null;
|
|
27
27
|
return /*#__PURE__*/React__default["default"].cloneElement(icon, {
|
|
28
28
|
'data-testid': isGroupOrHasChildrens ? 'tree-item-group-icon' : 'tree-item-icon',
|
|
29
|
-
className:
|
|
29
|
+
className: dsUtilities.cx(icon.props.className, 'tree-item-icon')
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
32
|
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
11
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
12
|
require('react');
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var
|
|
5
|
+
var dsForm = require('@elliemae/ds-form');
|
|
6
6
|
var TreeViewContext = require('../TreeViewContext.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
10
10
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
11
|
-
var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
|
|
12
11
|
|
|
13
12
|
function RadioSelectable(props) {
|
|
14
13
|
const {
|
|
@@ -48,7 +47,7 @@ function RadioSelectable(props) {
|
|
|
48
47
|
if (onSelectionChange) onSelectionChange(newSelectionHasmap, item, indexAndScrollTo);
|
|
49
48
|
}, [item, id, onSelectionChange, scrollToIndex]);
|
|
50
49
|
const radioName = React.useMemo(() => "radios-".concat(uniqueTreeViewUUID), [uniqueTreeViewUUID]);
|
|
51
|
-
return /*#__PURE__*/_jsx__default["default"](
|
|
50
|
+
return /*#__PURE__*/_jsx__default["default"](dsForm.DSRadio, {
|
|
52
51
|
checked: selectedCheckboxes[id] === true,
|
|
53
52
|
name: radioName,
|
|
54
53
|
disabled: item.isGroup ? disableGroups : disableLeafs,
|
package/cjs/parts/TreeItem.js
CHANGED
|
@@ -5,10 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
7
7
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
13
|
var React = require('react');
|
|
9
14
|
var reactSortableHoc = require('@elliemae/react-sortable-hoc');
|
|
10
15
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
11
|
-
var
|
|
16
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
12
17
|
var RadioSelectable = require('./RadioSelectable.js');
|
|
13
18
|
var CheckboxSelectable = require('./CheckboxSelectable.js');
|
|
14
19
|
var TreeViewContext = require('../TreeViewContext.js');
|
|
@@ -25,7 +30,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
25
30
|
|
|
26
31
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
27
32
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
28
|
-
var GripperVertical__default = /*#__PURE__*/_interopDefaultLegacy(GripperVertical);
|
|
29
33
|
|
|
30
34
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
31
35
|
|
|
@@ -35,20 +39,23 @@ const TreeListItem = dsClassnames.aggregatedClasses('li', {
|
|
|
35
39
|
role: 'treeitem'
|
|
36
40
|
})(cssClassesConstants.treeItemBlockName);
|
|
37
41
|
const TreeListItemAddonsWrapper = dsClassnames.aggregatedClasses('div')(cssClassesConstants.treeItemBlockName, 'addons');
|
|
38
|
-
const DnDHandle = reactSortableHoc.SortableHandle(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
},
|
|
42
|
+
const DnDHandle = reactSortableHoc.SortableHandle(_ref => {
|
|
43
|
+
let {
|
|
44
|
+
id
|
|
45
|
+
} = _ref;
|
|
46
|
+
return /*#__PURE__*/_jsx__default["default"](dsIcons.GripperVertical, {
|
|
47
|
+
"data-testid": "drag-handle",
|
|
48
|
+
className: "drag-handle",
|
|
49
|
+
size: "s",
|
|
50
|
+
onMouseDown: e => {
|
|
51
|
+
// prevent focusing the drag-handle to avoid borders
|
|
52
|
+
if (e) {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
tabIndex: "0"
|
|
57
|
+
}, "".concat(id, "-drag-handle"));
|
|
58
|
+
});
|
|
52
59
|
const TreeItem = props => {
|
|
53
60
|
const {
|
|
54
61
|
item,
|
|
@@ -128,9 +135,12 @@ const TreeItem = props => {
|
|
|
128
135
|
setSelectedItem(item);
|
|
129
136
|
onItemFocus({
|
|
130
137
|
itemIndex: item.virtualIndex,
|
|
131
|
-
scrollToItem: (
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
scrollToItem: function () {
|
|
139
|
+
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
140
|
+
align: 'start'
|
|
141
|
+
};
|
|
142
|
+
return scrollToIndex(item.virtualIndex, opts);
|
|
143
|
+
},
|
|
134
144
|
item
|
|
135
145
|
});
|
|
136
146
|
}, [item, scrollToIndex, onItemClick, onItemFocus, setSelectedItem, setFocusedItem]);
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var Highlighter = require('react-highlight-words');
|
|
8
|
-
var
|
|
8
|
+
var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
|
|
9
9
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
10
10
|
var ChildrenCountDisplayer = require('./ChildrenCountDisplayer.js');
|
|
11
11
|
var cssClassesConstants = require('../config/cssClassesConstants.js');
|
|
@@ -23,12 +23,15 @@ const ItemValue = dsClassnames.aggregatedClasses('span')(cssClassesConstants.tre
|
|
|
23
23
|
const classNameModifierWrapAll = "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "__value--wrap-all");
|
|
24
24
|
const classNameModifierTruncate = "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "__value--truncate"); // eslint-disable-next-line react/prop-types
|
|
25
25
|
|
|
26
|
-
const CustomHighlight =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
26
|
+
const CustomHighlight = _ref => {
|
|
27
|
+
let {
|
|
28
|
+
children
|
|
29
|
+
} = _ref;
|
|
30
|
+
return /*#__PURE__*/_jsx__default["default"]("mark", {
|
|
31
|
+
className: "tree-text-highlight",
|
|
32
|
+
"data-testid": "tree-text-highlight"
|
|
33
|
+
}, void 0, children);
|
|
34
|
+
};
|
|
32
35
|
|
|
33
36
|
function TreeItemText(props) {
|
|
34
37
|
var _ChildrenCountDisplay, _ChildrenCountDisplay2, _ChildrenCountDisplay3, _ChildrenCountDisplay4;
|
|
@@ -50,7 +53,7 @@ function TreeItemText(props) {
|
|
|
50
53
|
|
|
51
54
|
if (searchQuery) {
|
|
52
55
|
if (labelOverflow === 'truncate') {
|
|
53
|
-
return /*#__PURE__*/_jsx__default["default"](
|
|
56
|
+
return /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
|
|
54
57
|
value: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
55
58
|
children: [/*#__PURE__*/_jsx__default["default"](Highlighter__default["default"], {
|
|
56
59
|
autoEscape: true,
|
|
@@ -77,7 +80,7 @@ function TreeItemText(props) {
|
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
if (labelOverflow === 'truncate') {
|
|
80
|
-
return /*#__PURE__*/_jsx__default["default"](
|
|
83
|
+
return /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
|
|
81
84
|
value: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
82
85
|
children: [itemLabelText, showChildrenAmount ? _ChildrenCountDisplay3 || (_ChildrenCountDisplay3 = /*#__PURE__*/_jsx__default["default"](ChildrenCountDisplayer.ChildrenCountDisplayer, {
|
|
83
86
|
item: item
|