@elliemae/ds-treeview 2.0.0-alpha.8 → 2.0.0-next.11

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