@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.
Files changed (74) hide show
  1. package/cjs/TreeView.js +5 -0
  2. package/cjs/deprecated/TreeView.js +5 -0
  3. package/cjs/deprecated/__testUtils__/utils.js +9 -1
  4. package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js +14 -8
  5. package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js +7 -3
  6. package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js +20 -15
  7. package/cjs/deprecated/plugins/dnd/utils.js +41 -34
  8. package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js +12 -3
  9. package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js +5 -3
  10. package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js +52 -33
  11. package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js +11 -7
  12. package/cjs/deprecated/plugins/tree/TreeDataPlugin.js +38 -28
  13. package/cjs/deprecated/plugins/tree/useExpandTreeState.js +8 -5
  14. package/cjs/deprecated/plugins/tree/utils.js +17 -4
  15. package/cjs/deprecated/plugins/tree/walkTreeStrategy.js +11 -9
  16. package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +24 -10
  17. package/cjs/deprecated/renderers.js +16 -8
  18. package/cjs/parts/CheckboxSelectable.js +7 -3
  19. package/cjs/parts/ExpandCaret.js +10 -10
  20. package/cjs/parts/Icon.js +2 -2
  21. package/cjs/parts/NestingSpace.js +5 -0
  22. package/cjs/parts/RadioSelectable.js +2 -3
  23. package/cjs/parts/TreeItem.js +29 -19
  24. package/cjs/parts/TreeItemText.js +12 -9
  25. package/cjs/parts/TreeList.js +17 -7
  26. package/cjs/related-components/TreeViewSearchBar.js +2 -2
  27. package/cjs/utils/dnd-helpers.js +29 -25
  28. package/cjs/utils/group-expands-helpers.js +7 -5
  29. package/cjs/utils/keyboard-helpers.js +6 -3
  30. package/cjs/utils/object-helpers.js +8 -0
  31. package/cjs/utils/refs-helpers.js +11 -1
  32. package/cjs/utils/selectable-helper.js +9 -2
  33. package/cjs/utils/tree-helpers.js +26 -8
  34. package/cjs/utils/useDnDHelpers.js +18 -12
  35. package/cjs/utils/useInstanceRefActions.js +13 -10
  36. package/cjs/utils/useTree.js +5 -0
  37. package/esm/TreeView.js +5 -0
  38. package/esm/deprecated/TreeView.js +5 -0
  39. package/esm/deprecated/__testUtils__/utils.js +9 -1
  40. package/esm/deprecated/plugins/dnd/TreeDndPlugin.js +13 -7
  41. package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js +6 -1
  42. package/esm/deprecated/plugins/dnd/renderers/DroppableList.js +17 -11
  43. package/esm/deprecated/plugins/dnd/utils.js +34 -27
  44. package/esm/deprecated/plugins/roving/TreeRovingPlugin.js +11 -2
  45. package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js +4 -1
  46. package/esm/deprecated/plugins/selectable/SelectablePluginTree.js +44 -22
  47. package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js +8 -3
  48. package/esm/deprecated/plugins/tree/TreeDataPlugin.js +28 -16
  49. package/esm/deprecated/plugins/tree/useExpandTreeState.js +6 -2
  50. package/esm/deprecated/plugins/tree/utils.js +17 -4
  51. package/esm/deprecated/plugins/tree/walkTreeStrategy.js +11 -9
  52. package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +24 -10
  53. package/esm/deprecated/renderers.js +16 -8
  54. package/esm/parts/CheckboxSelectable.js +7 -2
  55. package/esm/parts/ExpandCaret.js +8 -6
  56. package/esm/parts/Icon.js +1 -1
  57. package/esm/parts/NestingSpace.js +5 -0
  58. package/esm/parts/RadioSelectable.js +2 -2
  59. package/esm/parts/TreeItem.js +29 -18
  60. package/esm/parts/TreeItemText.js +10 -7
  61. package/esm/parts/TreeList.js +16 -6
  62. package/esm/related-components/TreeViewSearchBar.js +1 -1
  63. package/esm/utils/dnd-helpers.js +29 -25
  64. package/esm/utils/group-expands-helpers.js +7 -5
  65. package/esm/utils/keyboard-helpers.js +6 -3
  66. package/esm/utils/object-helpers.js +8 -0
  67. package/esm/utils/refs-helpers.js +11 -1
  68. package/esm/utils/selectable-helper.js +9 -2
  69. package/esm/utils/tree-helpers.js +26 -8
  70. package/esm/utils/useDnDHelpers.js +18 -12
  71. package/esm/utils/useInstanceRefActions.js +13 -10
  72. package/esm/utils/useTree.js +5 -0
  73. package/package.json +11 -10
  74. package/types/deprecated/plugins/tree/useExpandTreeState.d.ts +12 -2
package/cjs/TreeView.js CHANGED
@@ -5,6 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
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 reactVirtual = require('react-virtual');
10
15
  var uuid = require('uuid');
@@ -6,6 +6,11 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
7
  var _jsx = require('@babel/runtime/helpers/jsx');
8
8
  require('core-js/modules/web.dom-collections.iterator.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
9
14
  require('react');
10
15
  var useDataList = require('@elliemae/ds-shared/useDataList');
11
16
  var renderers = require('./renderers.js');
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
7
  require('core-js/modules/esnext.map.delete-all.js');
8
+ require('core-js/modules/esnext.map.emplace.js');
8
9
  require('core-js/modules/esnext.map.every.js');
9
10
  require('core-js/modules/esnext.map.filter.js');
10
11
  require('core-js/modules/esnext.map.find.js');
@@ -18,7 +19,12 @@ require('core-js/modules/esnext.map.reduce.js');
18
19
  require('core-js/modules/esnext.map.some.js');
19
20
  require('core-js/modules/esnext.map.update.js');
20
21
  require('core-js/modules/web.dom-collections.iterator.js');
22
+ require('core-js/modules/esnext.async-iterator.for-each.js');
23
+ require('core-js/modules/esnext.iterator.constructor.js');
24
+ require('core-js/modules/esnext.iterator.for-each.js');
21
25
  require('core-js/modules/es.string.replace.js');
26
+ require('core-js/modules/esnext.async-iterator.filter.js');
27
+ require('core-js/modules/esnext.iterator.filter.js');
22
28
  require('react');
23
29
  var react = require('@testing-library/react');
24
30
  var renderers = require('../renderers.js');
@@ -50,7 +56,9 @@ const treeItemsToMap = items => {
50
56
  * @param key
51
57
  */
52
58
 
53
- function getTreeItemsFromRender(_ref, key = renderers.treeItemBlockName) {
59
+ function getTreeItemsFromRender(_ref) {
60
+ let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : renderers.treeItemBlockName;
61
+
54
62
  let {
55
63
  data,
56
64
  plugins
@@ -4,8 +4,13 @@ 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 utils$1 = require('@elliemae/ds-utilities/utils');
13
+ var dsUtilities = require('@elliemae/ds-utilities');
9
14
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
10
15
  var DraggableItem = require('./renderers/DraggableItem.js');
11
16
  var DroppableList = require('./renderers/DroppableList.js');
@@ -31,12 +36,13 @@ const TreeDndPlugin = createInstancePlugin__default["default"]('tree-dnd', {
31
36
 
32
37
  const [draggedRecord, setDraggedRecord] = React.useState(null); // eslint-disable-next-line react-hooks/rules-of-hooks
33
38
 
34
- const changeRecordsPosition = React.useCallback(({
35
- sourceRecord,
36
- targetRecord,
37
- combineWith,
38
- down
39
- }) => {
39
+ const changeRecordsPosition = React.useCallback(_ref => {
40
+ let {
41
+ sourceRecord,
42
+ targetRecord,
43
+ combineWith,
44
+ down
45
+ } = _ref;
40
46
  let nextTreeData;
41
47
  const sourceTreePosition = utils.getTreePosition(sourceRecord.path);
42
48
  let targetTreePosition = {};
@@ -55,7 +61,7 @@ const TreeDndPlugin = createInstancePlugin__default["default"]('tree-dnd', {
55
61
  // if we combine elements, we change a different array (the children of the target)
56
62
 
57
63
 
58
- const changingSameArray = !combineWith && utils$1.isEqual(sourceTreePosition.parentPath, targetTreePosition.parentPath);
64
+ const changingSameArray = !combineWith && dsUtilities.isEqual(sourceTreePosition.parentPath, targetTreePosition.parentPath);
59
65
 
60
66
  if (changingSameArray) {
61
67
  nextTreeData = utils.changePositionSameArray({
@@ -4,9 +4,14 @@ var _jsx = require('@babel/runtime/helpers/jsx');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
5
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
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
  require('react');
8
13
  var reactBeautifulDnd = require('react-beautiful-dnd');
9
- var GripperVertical = require('@elliemae/ds-icons/GripperVertical');
14
+ var dsIcons = require('@elliemae/ds-icons');
10
15
  var utils = require('../utils.js');
11
16
  var jsxRuntime = require('react/jsx-runtime');
12
17
 
@@ -15,7 +20,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
20
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
21
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
17
22
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
18
- var GripperVertical__default = /*#__PURE__*/_interopDefaultLegacy(GripperVertical);
19
23
 
20
24
  const _excluded = ["key"];
21
25
 
@@ -49,7 +53,7 @@ const DraggableItem = (renderers // , instance
49
53
 
50
54
  return /*#__PURE__*/jsxRuntime.jsx(ItemComponent, _objectSpread(_objectSpread({}, draggableProps), {}, {
51
55
  // isDragging={isDragging}
52
- leftAddons: [/*#__PURE__*/jsxRuntime.jsx(GripperVertical__default["default"], _objectSpread(_objectSpread({
56
+ leftAddons: [/*#__PURE__*/jsxRuntime.jsx(dsIcons.GripperVertical, _objectSpread(_objectSpread({
53
57
  "data-testid": "drag-handle"
54
58
  }, provided.dragHandleProps), {}, {
55
59
  className: "drag-handle",
@@ -4,11 +4,15 @@ var _jsx = require('@babel/runtime/helpers/jsx');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
5
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
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
13
  var reactBeautifulDnd = require('react-beautiful-dnd');
9
- var utils$2 = require('@elliemae/ds-utilities/utils');
10
- var GripperVertical = require('@elliemae/ds-icons/GripperVertical');
11
- var system = require('@elliemae/ds-utilities/system');
14
+ var dsUtilities = require('@elliemae/ds-utilities');
15
+ var dsIcons = require('@elliemae/ds-icons');
12
16
  var FocusGroupContext = require('@elliemae/ds-shared/FocusGroup/FocusGroupContext');
13
17
  var utils = require('../../tree/utils.js');
14
18
  var utils$1 = require('../utils.js');
@@ -19,7 +23,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
23
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
20
24
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
21
25
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
22
- var GripperVertical__default = /*#__PURE__*/_interopDefaultLegacy(GripperVertical);
23
26
  var FocusGroupContext__default = /*#__PURE__*/_interopDefaultLegacy(FocusGroupContext);
24
27
 
25
28
  const _excluded = ["records"];
@@ -75,9 +78,10 @@ const DroppableList = (renderers, instance) => _ref => {
75
78
 
76
79
  currTargetRef.current = destination || currTargetRef.current;
77
80
  }, [records]);
78
- const onDragStart = React.useCallback(({
79
- source
80
- }) => {
81
+ const onDragStart = React.useCallback(_ref2 => {
82
+ let {
83
+ source
84
+ } = _ref2;
81
85
  preDragFocusedNode.current = document.activeElement; // when we move the currently focused item, preDragFocusedNode is the body of the doc
82
86
 
83
87
  setFocusedItemWasDragged(preDragFocusedNode.current.tagName === 'BODY');
@@ -92,13 +96,14 @@ const DroppableList = (renderers, instance) => _ref => {
92
96
  }, [records]);
93
97
  const onDragEnd = React.useCallback( // eslint-disable-next-line complexity
94
98
  // eslint-disable-next-line max-statements
95
- ({
96
- destination,
97
- source,
98
- combine
99
- }) => {
99
+ _ref3 => {
100
100
  var _sourceRecord$parentN, _targetRecord$parentN;
101
101
 
102
+ let {
103
+ destination,
104
+ source,
105
+ combine
106
+ } = _ref3;
102
107
  clearTimeout(expandTimerRef.current);
103
108
  const sourceIndex = source.index;
104
109
  const destinationIndex = destination && destination.index;
@@ -144,7 +149,7 @@ const DroppableList = (renderers, instance) => _ref => {
144
149
  record: record
145
150
  }, utils$1.getDraggableProps({
146
151
  className: 'item-cloned'
147
- }, provided, snapshot)), /*#__PURE__*/jsxRuntime.jsx(GripperVertical__default["default"], _objectSpread(_objectSpread({}, provided.dragHandleProps), {}, {
152
+ }, provided, snapshot)), /*#__PURE__*/jsxRuntime.jsx(dsIcons.GripperVertical, _objectSpread(_objectSpread({}, provided.dragHandleProps), {}, {
148
153
  className: "drag-handle"
149
154
  })), itemRenderer({
150
155
  record,
@@ -165,8 +170,8 @@ const DroppableList = (renderers, instance) => _ref => {
165
170
  // work in a virtual list
166
171
  const itemCount = snapshot.isUsingPlaceholder ? records.length + 1 : records.length;
167
172
  return /*#__PURE__*/jsxRuntime.jsx(ListComponent, _objectSpread(_objectSpread({}, rest), {}, {
168
- className: utils$2.cx(rest.className, draggedRecord && 'dragging'),
169
- innerRef: system.mergeRefs(droppableProvided.innerRef, rest.innerRef, rest.ref),
173
+ className: dsUtilities.cx(rest.className, draggedRecord && 'dragging'),
174
+ innerRef: dsUtilities.mergeRefs(droppableProvided.innerRef, rest.innerRef, rest.ref),
170
175
  itemCount: itemCount,
171
176
  records: records
172
177
  }));
@@ -4,8 +4,12 @@ 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
- var utils = require('@elliemae/ds-utilities/utils');
8
- var system = require('@elliemae/ds-utilities/system');
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');
12
+ var dsUtilities = require('@elliemae/ds-utilities');
9
13
 
10
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
15
 
@@ -24,9 +28,9 @@ function getStyle(provided, style) {
24
28
  function getDraggableProps(props, provided, snapshot) {
25
29
  const isGroupedOver = Boolean(snapshot.combineTargetFor);
26
30
  return _objectSpread(_objectSpread(_objectSpread({}, props), provided.draggableProps), {}, {
27
- className: utils.cx(props.className, isGroupedOver && 'can-group-over'),
31
+ className: dsUtilities.cx(props.className, isGroupedOver && 'can-group-over'),
28
32
  // provided,
29
- innerRef: system.mergeRefs(provided.innerRef, props.innerRef, props.ref),
33
+ innerRef: dsUtilities.mergeRefs(provided.innerRef, props.innerRef, props.ref),
30
34
  'data-index': props.index,
31
35
  style: getStyle(provided, _objectSpread(_objectSpread({}, props.style), {}, {
32
36
  display: 'flex'
@@ -37,7 +41,7 @@ const setTreeArrayInPath = (treeData, path, data) => {
37
41
  const nextTreeData = [...treeData];
38
42
 
39
43
  if (path.length) {
40
- utils.set(nextTreeData, path, data);
44
+ dsUtilities.set(nextTreeData, path, data);
41
45
  return nextTreeData;
42
46
  }
43
47
 
@@ -64,37 +68,39 @@ const isSourceBeforeTarget = (sourcePath, targetPath) => {
64
68
 
65
69
  return sourceIsBeforeTarget;
66
70
  };
67
- const updateTargetPath = (sourcePath, targetPath, incr = -1) => {
71
+ const updateTargetPath = function (sourcePath, targetPath) {
72
+ let incr = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
68
73
  const nextTargetPath = [...targetPath];
69
74
  const posToUpdate = sourcePath.length ? sourcePath.length - 1 : 0;
70
75
  nextTargetPath.splice(posToUpdate, 1, targetPath[posToUpdate] + incr);
71
76
  return nextTargetPath;
72
77
  };
73
78
  const getParentPath = path => path.slice(0, -1);
74
- const getParentChildrenByPath = (treeData, path) => path && path.length ? utils.get(treeData, path) : treeData;
79
+ const getParentChildrenByPath = (treeData, path) => path && path.length ? dsUtilities.get(treeData, path) : treeData;
75
80
  const getTreePosition = recordPath => ({
76
81
  parentPath: getParentPath(recordPath),
77
82
  index: recordPath.slice(-1)[0]
78
83
  });
79
- const changePositionBetweenDifferentArrays = ({
80
- sourceTreePosition,
81
- // already extracted sourceRecord.path
82
- targetTreePosition,
83
- // already extracted targetRecord.path
84
- // combineWith the element we want to append to the children of (this is null when the drag doesn't result in adding children)
85
- combineWith,
86
- sourceRecord,
87
- // what we are dragging
88
- targetRecord,
89
- // what we are dropping on top of
90
- down,
91
- // ???
92
- data,
93
- // tree before dragEnd changes
94
- childrenKey = 'children' // constant -> 'children'
95
-
96
- }) => {
97
- let nextTreeData = utils.cloneDeep(data);
84
+ const changePositionBetweenDifferentArrays = _ref => {
85
+ let {
86
+ sourceTreePosition,
87
+ // already extracted sourceRecord.path
88
+ targetTreePosition,
89
+ // already extracted targetRecord.path
90
+ // combineWith the element we want to append to the children of (this is null when the drag doesn't result in adding children)
91
+ combineWith,
92
+ sourceRecord,
93
+ // what we are dragging
94
+ targetRecord,
95
+ // what we are dropping on top of
96
+ down,
97
+ // ???
98
+ data,
99
+ // tree before dragEnd changes
100
+ childrenKey = 'children' // constant -> 'children'
101
+
102
+ } = _ref;
103
+ let nextTreeData = dsUtilities.cloneDeep(data);
98
104
  if (!sourceRecord || !sourceRecord.data) throw new Error('error while dragging, no dragged item received');
99
105
  const sourceTreeChildren = getParentChildrenByPath(nextTreeData, sourceTreePosition.parentPath); // When moving an item we remove the item from it's former parent children array
100
106
 
@@ -123,15 +129,16 @@ const changePositionBetweenDifferentArrays = ({
123
129
  return nextTreeData;
124
130
  };
125
131
  const combineWithTarget = () => {};
126
- const changePositionSameArray = ({
127
- targetTreePosition,
128
- sourceRecord,
129
- targetRecord,
130
- data
131
- }) => {
132
- let nextTreeData = utils.cloneDeep(data);
132
+ const changePositionSameArray = _ref2 => {
133
+ let {
134
+ targetTreePosition,
135
+ sourceRecord,
136
+ targetRecord,
137
+ data
138
+ } = _ref2;
139
+ let nextTreeData = dsUtilities.cloneDeep(data);
133
140
  const targetTreeChildren = getParentChildrenByPath(nextTreeData, targetTreePosition.parentPath);
134
- const nextChildren = utils.arrayMove(targetTreeChildren, sourceRecord.index, targetRecord.index); // mutates the tree. That's the reason of the clone above
141
+ const nextChildren = dsUtilities.arrayMove(targetTreeChildren, sourceRecord.index, targetRecord.index); // mutates the tree. That's the reason of the clone above
135
142
 
136
143
  nextTreeData = setTreeArrayInPath(nextTreeData, targetTreePosition.parentPath, nextChildren);
137
144
  return nextTreeData;
@@ -6,10 +6,15 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
7
  var _jsx = require('@babel/runtime/helpers/jsx');
8
8
  require('core-js/modules/web.dom-collections.iterator.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
9
14
  var React = require('react');
10
15
  var FocusGroupProvider = require('@elliemae/ds-shared/FocusGroup/FocusGroupManager');
11
16
  var useFocusGroupItem = require('@elliemae/ds-shared/FocusGroup/useFocusGroupItem');
12
- var system = require('@elliemae/ds-utilities/system');
17
+ var dsUtilities = require('@elliemae/ds-utilities');
13
18
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
14
19
  var jsxRuntime = require('react/jsx-runtime');
15
20
 
@@ -54,7 +59,7 @@ const TreeItemRovingHoc = Component => _ref => {
54
59
  onBlur
55
60
  });
56
61
  return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread(_objectSpread({}, props), {}, {
57
- innerRef: system.mergeRefs(ref, innerRef)
62
+ innerRef: dsUtilities.mergeRefs(ref, innerRef)
58
63
  }));
59
64
  };
60
65
 
@@ -71,9 +76,13 @@ const TreeRovingPlugin = createInstancePlugin__default["default"]('tree-data', {
71
76
 
72
77
  if (instance !== null && instance !== void 0 && (_instance$props = instance.props) !== null && _instance$props !== void 0 && _instance$props.onItemFocus) {
73
78
  instance.props.onItemFocus({
74
- scrollToItem: (...args) => {
79
+ scrollToItem: function () {
75
80
  var _props$listRef, _props$listRef$curren;
76
81
 
82
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
83
+ args[_key] = arguments[_key];
84
+ }
85
+
77
86
  return props === null || props === void 0 ? void 0 : (_props$listRef = props.listRef) === null || _props$listRef === void 0 ? void 0 : (_props$listRef$curren = _props$listRef.current) === null || _props$listRef$curren === void 0 ? void 0 : _props$listRef$curren.scrollToItem(args);
78
87
  },
79
88
  itemIndex: props === null || props === void 0 ? void 0 : props.index
@@ -3,17 +3,19 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/esnext.async-iterator.filter.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.filter.js');
6
9
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
7
10
  var Highlighter = require('react-highlight-words');
8
11
  require('react');
9
- var usePrevious = require('@elliemae/ds-utilities/hooks/usePrevious');
12
+ var dsUtilities = require('@elliemae/ds-utilities');
10
13
 
11
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
15
 
13
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
17
  var createInstancePlugin__default = /*#__PURE__*/_interopDefaultLegacy(createInstancePlugin);
15
18
  var Highlighter__default = /*#__PURE__*/_interopDefaultLegacy(Highlighter);
16
- var usePrevious__default = /*#__PURE__*/_interopDefaultLegacy(usePrevious);
17
19
 
18
20
  const markParentsAsChildMatch = record => {
19
21
  let currRecord = record;
@@ -86,7 +88,7 @@ const SearchableTreePlugin = createInstancePlugin__default["default"]('searchabl
86
88
  }
87
89
  } = instance; // eslint-disable-next-line react-hooks/rules-of-hooks
88
90
 
89
- const prevSearchQuery = usePrevious__default["default"](searchQuery);
91
+ const prevSearchQuery = dsUtilities.usePrevious(searchQuery);
90
92
  return {
91
93
  prevSearchQuery
92
94
  };
@@ -5,36 +5,39 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.reduce.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.reduce.js');
11
+ require('core-js/modules/esnext.async-iterator.filter.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ require('core-js/modules/esnext.async-iterator.for-each.js');
14
+ require('core-js/modules/esnext.iterator.for-each.js');
8
15
  var React = require('react');
9
- var Checkbox = require('@elliemae/ds-basic/form/Checkbox');
10
- var Radio = require('@elliemae/ds-basic/form/Radio');
11
- var utils = require('@elliemae/ds-utilities/utils');
12
- var useDerivedStateFromProps = require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
16
+ var dsForm = require('@elliemae/ds-form');
17
+ var dsUtilities = require('@elliemae/ds-utilities');
13
18
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
14
19
  var walkTreeStrategy = require('../tree/walkTreeStrategy.js');
15
- var utils$1 = require('../tree/utils.js');
16
- var utils$2 = require('./utils.js');
20
+ var utils = require('../tree/utils.js');
21
+ var utils$1 = require('./utils.js');
17
22
  require('react/jsx-runtime');
18
23
 
19
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
25
 
21
26
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
22
27
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
23
- var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
24
- var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
25
- var useDerivedStateFromProps__default = /*#__PURE__*/_interopDefaultLegacy(useDerivedStateFromProps);
26
28
  var createInstancePlugin__default = /*#__PURE__*/_interopDefaultLegacy(createInstancePlugin);
27
29
 
28
30
  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; }
29
31
 
30
32
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
33
 
32
- const updateParentState = ({
33
- node,
34
- checked,
35
- selectionState,
36
- isCurrentParentChildren = true
37
- }) => {
34
+ const updateParentState = _ref => {
35
+ let {
36
+ node,
37
+ checked,
38
+ selectionState,
39
+ isCurrentParentChildren = true
40
+ } = _ref;
38
41
  const {
39
42
  parentNode
40
43
  } = node;
@@ -45,10 +48,10 @@ const updateParentState = ({
45
48
  if (checked === true && isCurrentParentChildren) nextSelectedChildrenAmount = parentNode.selectedChildren.length;
46
49
  if (checked === true && !isCurrentParentChildren) nextSelectedChildrenAmount = parentNode.selectedChildren.length + 1;
47
50
  if (checked === false) nextSelectedChildrenAmount = parentNode.selectedChildren.length - 1;
48
- const parentChildren = utils$1.getParentChildren(node);
51
+ const parentChildren = utils.getParentChildren(node);
49
52
  const parentChildrenLength = parentChildren && parentChildren.length; // check parent state
50
53
 
51
- const parentState = utils$2.checkParentState(nextSelectedChildrenAmount, parentChildrenLength, checked);
54
+ const parentState = utils$1.checkParentState(nextSelectedChildrenAmount, parentChildrenLength, checked);
52
55
  selectionState[parentNode.id || 'all'] = parentState;
53
56
  updateParentState({
54
57
  node: parentNode,
@@ -71,7 +74,7 @@ const useSelectableTreeState = instance => {
71
74
  isSingleSelect = false
72
75
  }
73
76
  } = instance;
74
- const [selection, setSelection] = useDerivedStateFromProps__default["default"](selectionProp);
77
+ const [selection, setSelection] = dsUtilities.useDerivedStateFromProps(selectionProp);
75
78
  const isAllSelected = React.useMemo(() => {
76
79
  if (!isMultiSelect) return false;
77
80
  const amountSelected = originalData.reduce((result, item) => selection[item[idKey]] === true ? result + 1 : result, 0);
@@ -86,10 +89,16 @@ const useSelectableTreeState = instance => {
86
89
 
87
90
  return 'mixed';
88
91
  }, [selection]);
89
- const select = React.useCallback((record, additionalActions = {}) => {
90
- if (utils.isFunction(onSelect)) {
92
+ const select = React.useCallback(function (record) {
93
+ let additionalActions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
94
+
95
+ if (dsUtilities.isFunction(onSelect)) {
91
96
  onSelect(record.data, {
92
- scrollToItem: (...args) => {
97
+ scrollToItem: function () {
98
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
99
+ args[_key] = arguments[_key];
100
+ }
101
+
93
102
  if (additionalActions.scrollToItem) additionalActions.scrollToItem(args);
94
103
  },
95
104
  itemIndex: additionalActions === null || additionalActions === void 0 ? void 0 : additionalActions.itemIndex
@@ -111,7 +120,7 @@ const useSelectableTreeState = instance => {
111
120
  data: record.data.children,
112
121
  parentNode: record,
113
122
  cb: node => {
114
- const parentId = utils$1.getParentId(node); // if direct child and truthy next state
123
+ const parentId = utils.getParentId(node); // if direct child and truthy next state
115
124
 
116
125
  if (nextState && parentId === record.id) {
117
126
  record.selectedChildren.push(node.id);
@@ -131,7 +140,11 @@ const useSelectableTreeState = instance => {
131
140
  }
132
141
 
133
142
  onSelectionChange(nextSelectionState, record.data, {
134
- scrollToItem: (...args) => {
143
+ scrollToItem: function () {
144
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
145
+ args[_key2] = arguments[_key2];
146
+ }
147
+
135
148
  if (additionalActions.scrollToItem) additionalActions.scrollToItem(args);
136
149
  },
137
150
  itemIndex: additionalActions === null || additionalActions === void 0 ? void 0 : additionalActions.itemIndex
@@ -193,9 +206,10 @@ const SelectablePluginTree = createInstancePlugin__default["default"]('selectabl
193
206
  return record;
194
207
  },
195
208
 
196
- getItemProps(props, instance, {
197
- record
198
- }) {
209
+ getItemProps(props, instance, _ref3) {
210
+ let {
211
+ record
212
+ } = _ref3;
199
213
  const {
200
214
  actions: {
201
215
  select
@@ -209,15 +223,19 @@ const SelectablePluginTree = createInstancePlugin__default["default"]('selectabl
209
223
  } = instance.getInstance();
210
224
 
211
225
  const handleSelect = () => select(record, {
212
- scrollToItem: (...args) => {
226
+ scrollToItem: function () {
213
227
  var _props$listRef, _props$listRef$curren;
214
228
 
229
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
230
+ args[_key3] = arguments[_key3];
231
+ }
232
+
215
233
  return props === null || props === void 0 ? void 0 : (_props$listRef = props.listRef) === null || _props$listRef === void 0 ? void 0 : (_props$listRef$curren = _props$listRef.current) === null || _props$listRef$curren === void 0 ? void 0 : _props$listRef$curren.scrollToItem(args);
216
234
  },
217
235
  itemIndex: props === null || props === void 0 ? void 0 : props.index
218
236
  });
219
237
 
220
- const checkboxAddon = isMultiSelect && /*#__PURE__*/_jsx__default["default"](Checkbox__default["default"], {
238
+ const checkboxAddon = isMultiSelect && /*#__PURE__*/_jsx__default["default"](dsForm.DSCheckbox, {
221
239
  checked: record.checked,
222
240
  disabled: record.isGroup ? disableGroups : disableLeafs,
223
241
  className: "tree-item-checkbox",
@@ -226,7 +244,7 @@ const SelectablePluginTree = createInstancePlugin__default["default"]('selectabl
226
244
  tabIndex: -1
227
245
  });
228
246
 
229
- const radioAddon = isSingleSelect && !isMultiSelect && /*#__PURE__*/_jsx__default["default"](Radio__default["default"], {
247
+ const radioAddon = isSingleSelect && !isMultiSelect && /*#__PURE__*/_jsx__default["default"](dsForm.DSRadio, {
230
248
  checked: !!record.checked,
231
249
  disabled: record.isGroup ? disableGroups : disableLeafs,
232
250
  className: "tree-item-radio",
@@ -244,7 +262,7 @@ const SelectablePluginTree = createInstancePlugin__default["default"]('selectabl
244
262
 
245
263
  return _objectSpread(_objectSpread({}, props), {}, {
246
264
  onClick: handleSelect,
247
- className: utils.cx(props.className, record.checked && 'selected'),
265
+ className: dsUtilities.cx(props.className, record.checked && 'selected'),
248
266
  'aria-selected': !!record.checked
249
267
  });
250
268
  },
@@ -252,9 +270,10 @@ const SelectablePluginTree = createInstancePlugin__default["default"]('selectabl
252
270
  hotKeys(grid) {
253
271
  return {
254
272
  key: 'space',
255
- handler: ({
256
- index
257
- }) => {
273
+ handler: _ref4 => {
274
+ let {
275
+ index
276
+ } = _ref4;
258
277
  const {
259
278
  records,
260
279
  actions: {
@@ -2,13 +2,18 @@
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');
8
13
  var React = require('react');
9
- var MoreOptionsVert = require('@elliemae/ds-icons/MoreOptionsVert');
10
- var Button = require('@elliemae/ds-basic/Button');
11
- var utils = require('@elliemae/ds-utilities/utils');
14
+ var dsIcons = require('@elliemae/ds-icons');
15
+ var Button = require('@elliemae/ds-button');
16
+ var dsUtilities = require('@elliemae/ds-utilities');
12
17
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
13
18
  var ToolbarProvider = require('@elliemae/ds-shared/toolbar/ToolbarProvider');
14
19
  var FocusGroupContext = require('@elliemae/ds-shared/FocusGroup/FocusGroupContext');
@@ -19,7 +24,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
24
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
25
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
26
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
22
- var MoreOptionsVert__default = /*#__PURE__*/_interopDefaultLegacy(MoreOptionsVert);
23
27
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
24
28
  var createInstancePlugin__default = /*#__PURE__*/_interopDefaultLegacy(createInstancePlugin);
25
29
  var ToolbarProvider__default = /*#__PURE__*/_interopDefaultLegacy(ToolbarProvider);
@@ -38,7 +42,7 @@ const ToolbarDisclosure = props => {
38
42
  extraParams,
39
43
  renderToolbar,
40
44
  isItemFocused,
41
- icon = /*#__PURE__*/_jsx__default["default"](MoreOptionsVert__default["default"], {
45
+ icon = /*#__PURE__*/_jsx__default["default"](dsIcons.MoreOptionsVert, {
42
46
  color: ['brand-primary', 800]
43
47
  }),
44
48
  rowSize
@@ -72,8 +76,8 @@ const ToolbarDisclosure = props => {
72
76
  icon: icon,
73
77
  innerRef: ref,
74
78
  onClick: show,
75
- onMouseEnter: utils.runAll(show, onMouseEnter),
76
- onMouseLeave: utils.runAll(hide, onMouseLeave),
79
+ onMouseEnter: dsUtilities.runAll(show, onMouseEnter),
80
+ onMouseLeave: dsUtilities.runAll(hide, onMouseLeave),
77
81
  tabIndex: isItemFocused ? 0 : -1
78
82
  }));
79
83
  };