@elliemae/ds-treeview 2.3.2 → 2.4.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,7 +70,8 @@ const defaultContext = {
70
70
  virtualItems: [],
71
71
  totalSize: 0,
72
72
  scrollToOffset: noop,
73
- scrollToIndex: noop
73
+ scrollToIndex: noop,
74
+ measure: noop
74
75
  },
75
76
  virtualListRef: undefined,
76
77
  uniqueTreeViewUUID: '',
@@ -10,8 +10,6 @@ const DnDTreeContext = /*#__PURE__*/React.createContext({
10
10
  activeIndex: undefined,
11
11
  visibleItems: undefined,
12
12
  dropIndicatorPosition: SortableItemContext.DropIndicatorPosition.None,
13
- lastActiveId: undefined,
14
- setLastActiveId: undefined,
15
13
  isDropValid: false
16
14
  });
17
15
 
@@ -4,7 +4,6 @@ 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
7
  require('core-js/modules/esnext.async-iterator.map.js');
9
8
  require('core-js/modules/esnext.iterator.map.js');
10
9
  require('core-js/modules/esnext.async-iterator.for-each.js');
@@ -21,13 +20,14 @@ var dsDragAndDrop = require('@elliemae/ds-drag-and-drop');
21
20
  var TreeViewContext = require('../TreeViewContext.js');
22
21
  var TreeItem = require('../parts/TreeItem.js');
23
22
  var DnDTreeContext = require('./DnDTreeContext.js');
23
+ var SortableItemContext = require('./SortableItemContext.js');
24
+ var groupExpandsHelpers = require('../utils/group-expands-helpers.js');
24
25
  var jsxRuntime = require('react/jsx-runtime');
25
26
 
26
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
28
 
28
29
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
29
30
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
30
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
31
 
32
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
33
 
@@ -45,7 +45,6 @@ const ensure = function (argument) {
45
45
 
46
46
 
47
47
  const withConditionalDnDRowContext = Component => props => {
48
- const [lastActiveId, setLastActiveId] = React__default["default"].useState('');
49
48
  const {
50
49
  props: {
51
50
  data,
@@ -53,6 +52,8 @@ const withConditionalDnDRowContext = Component => props => {
53
52
  getIsDropValid
54
53
  },
55
54
  flattenedItems,
55
+ updateUserExpandedState,
56
+ triggerTreeRerender,
56
57
  visibleItems: flattenedVisibleTree,
57
58
  withDragAndDrop
58
59
  } = React.useContext(TreeViewContext["default"]);
@@ -98,7 +99,8 @@ const withConditionalDnDRowContext = Component => props => {
98
99
  depth,
99
100
  dropIndicatorPosition,
100
101
  visibleItems,
101
- isDropValid
102
+ isDropValid,
103
+ overId
102
104
  } = dsDragAndDrop.useTreeDndkitConfig({
103
105
  flattenedItems,
104
106
  visibleItems: flattenedVisibleTreeForDnD,
@@ -108,7 +110,24 @@ const withConditionalDnDRowContext = Component => props => {
108
110
  getIsDropValid,
109
111
  maxDragAndDropLevel: Infinity
110
112
  });
111
- if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);
113
+ const timeoutRef = React.useRef();
114
+ React.useEffect(() => {
115
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
116
+
117
+ if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside && overId) {
118
+ timeoutRef.current = setTimeout(() => {
119
+ const overItem = visibleItems.find(item => item.uid === overId);
120
+
121
+ if (overItem) {
122
+ const realOverItem = overItem.original;
123
+
124
+ if (realOverItem.isGroup && !realOverItem.isExpanded) {
125
+ groupExpandsHelpers.toggleItemExpand(realOverItem, triggerTreeRerender, updateUserExpandedState);
126
+ }
127
+ }
128
+ }, 1000);
129
+ }
130
+ }, [overId, dropIndicatorPosition, triggerTreeRerender, visibleItems, updateUserExpandedState]);
112
131
  if (withDragAndDrop) return /*#__PURE__*/jsxRuntime.jsxs(core.DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
113
132
  children: [/*#__PURE__*/jsxRuntime.jsx(sortable.SortableContext, _objectSpread(_objectSpread({}, sortableContextProps), {}, {
114
133
  children: /*#__PURE__*/_jsx__default["default"](DnDTreeContext.DnDTreeContext.Provider, {
@@ -117,8 +136,6 @@ const withConditionalDnDRowContext = Component => props => {
117
136
  depth,
118
137
  visibleItems: visibleItems.map(item => item.original),
119
138
  dropIndicatorPosition,
120
- lastActiveId,
121
- setLastActiveId,
122
139
  isDropValid
123
140
  }
124
141
  }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))
@@ -30,8 +30,6 @@ const withDnDSortableItemContext = Component => props => {
30
30
  } = React.useContext(TreeViewContext["default"]);
31
31
  const {
32
32
  dropIndicatorPosition,
33
- lastActiveId,
34
- setLastActiveId,
35
33
  isDropValid
36
34
  } = React.useContext(DnDTreeContext.DnDTreeContext);
37
35
  const id = props.item.id.toString(); // onMount generate unique options, so everyting is only ran once
@@ -50,11 +48,9 @@ const withDnDSortableItemContext = Component => props => {
50
48
  return _objectSpread(_objectSpread({}, useSortableHelpers), {}, {
51
49
  shouldShowDropIndicatorPosition: overIndex === index,
52
50
  dropIndicatorPosition,
53
- lastActiveId,
54
- setLastActiveId,
55
51
  isDropValid
56
52
  });
57
- }, [withDragAndDrop, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId, isDropValid]); // we use a context so we can easly access information wherever without bubbling down
53
+ }, [withDragAndDrop, useSortableHelpers, dropIndicatorPosition, isDropValid]); // we use a context so we can easly access information wherever without bubbling down
58
54
  // this context is all Memoized so as long as component is not re-mounted,
59
55
  // the context won't trigger un-required renders per-se...
60
56
 
@@ -37,7 +37,7 @@ const DnDHandle = _ref => {
37
37
  id: "".concat(id, "-drag-handle"),
38
38
  key: "".concat(id, "-drag-handle"),
39
39
  className: "drag-handle ".concat(isDragging ? '' : 'focuseable'),
40
- color: ['brand-primary', '800'],
40
+ color: isDragging ? ['neutral', '080'] : ['brand-primary', '800'],
41
41
  size: "s",
42
42
  tabIndex: 0
43
43
  }));
@@ -107,7 +107,7 @@ const TreeItem = props => {
107
107
  }, [isDropIndicatorPositionInside, isDropValid]);
108
108
  const dragOverlayClassName = React.useMemo(() => isDragOverlay ? 'drag-overlay' : '', [isDragOverlay]);
109
109
  const selectedClassName = React.useMemo(() => (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id) === item.id && !isDragOverlay ? 'selected' : '', [isDragOverlay, item.id, selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id]);
110
- const hoverClassName = React.useMemo(() => !isDragOverlay && ((hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id) === item.id || isDragging) ? 'hover' : '', [isDragOverlay, hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id, item.id, isDragging]);
110
+ const hoverClassName = React.useMemo(() => !isDragOverlay && (hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id) === item.id && !isDragging ? 'hover' : '', [isDragOverlay, hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id, item.id, isDragging]);
111
111
  const fixedHeightClassname = React.useMemo(() => {
112
112
  if (labelOverflow === 'truncate') {
113
113
  if (rowSize === 'compact') return "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "--fixed-height-compact");
@@ -116,7 +116,11 @@ const TreeItem = props => {
116
116
 
117
117
  return '';
118
118
  }, [labelOverflow, rowSize]);
119
- const finalClassName = React.useMemo(() => "".concat(dropPreviewClassName, " ").concat(fixedHeightClassname, " ").concat(selectedClassName, " ").concat(hoverClassName, " ").concat(dragOverlayClassName), [dropPreviewClassName, selectedClassName, hoverClassName, fixedHeightClassname, dragOverlayClassName]);
119
+ const isDraggingClassname = React.useMemo(() => {
120
+ if (isDragging) return "".concat(cssClassesConstants.DSTreeViewPrefix, "-").concat(cssClassesConstants.treeItemBlockName, "--dragging");
121
+ return '';
122
+ }, [isDragging]);
123
+ const finalClassName = React.useMemo(() => "".concat(dropPreviewClassName, " ").concat(fixedHeightClassname, " ").concat(selectedClassName, " ").concat(hoverClassName, " ").concat(dragOverlayClassName, " ").concat(isDraggingClassname), [dropPreviewClassName, fixedHeightClassname, selectedClassName, hoverClassName, dragOverlayClassName, isDraggingClassname]);
120
124
  const handleItemClick = React.useCallback(e => {
121
125
  onItemClick(item, e);
122
126
  setFocusedItem(item);
@@ -32,8 +32,8 @@ const toggleItemExpand = function (itemToToggle, triggerTreeRerender, updateUser
32
32
 
33
33
  if (itemToToggle.node.model.isGroup) {
34
34
  itemToToggle.node.model.isExpanded = !isExpanded;
35
- triggerTreeRerender();
36
35
  updateUserExpandedState();
36
+ triggerTreeRerender();
37
37
  setTimeout(() => {
38
38
  if (typeof virtualIndex === 'number') scrollTo(virtualIndex, {
39
39
  align: 'start'
@@ -66,7 +66,8 @@ const defaultContext = {
66
66
  virtualItems: [],
67
67
  totalSize: 0,
68
68
  scrollToOffset: noop,
69
- scrollToIndex: noop
69
+ scrollToIndex: noop,
70
+ measure: noop
70
71
  },
71
72
  virtualListRef: undefined,
72
73
  uniqueTreeViewUUID: '',
@@ -6,8 +6,6 @@ const DnDTreeContext = /*#__PURE__*/createContext({
6
6
  activeIndex: undefined,
7
7
  visibleItems: undefined,
8
8
  dropIndicatorPosition: DropIndicatorPosition.None,
9
- lastActiveId: undefined,
10
- setLastActiveId: undefined,
11
9
  isDropValid: false
12
10
  });
13
11
 
@@ -1,8 +1,5 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.filter.js';
3
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
4
2
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
5
- import 'core-js/modules/web.dom-collections.iterator.js';
6
3
  import 'core-js/modules/esnext.async-iterator.map.js';
7
4
  import 'core-js/modules/esnext.iterator.map.js';
8
5
  import 'core-js/modules/esnext.async-iterator.for-each.js';
@@ -10,13 +7,17 @@ import 'core-js/modules/esnext.iterator.constructor.js';
10
7
  import 'core-js/modules/esnext.iterator.for-each.js';
11
8
  import 'core-js/modules/esnext.async-iterator.find.js';
12
9
  import 'core-js/modules/esnext.iterator.find.js';
13
- import React, { useContext, useMemo, useCallback } from 'react';
10
+ import 'core-js/modules/esnext.async-iterator.filter.js';
11
+ import 'core-js/modules/esnext.iterator.filter.js';
12
+ import { useContext, useMemo, useCallback, useRef, useEffect } from 'react';
14
13
  import { DndContext, DragOverlay } from '@dnd-kit/core';
15
14
  import { SortableContext } from '@dnd-kit/sortable';
16
15
  import { useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';
17
16
  import TreeViewContext from '../TreeViewContext.js';
18
17
  import { TreeItem } from '../parts/TreeItem.js';
19
18
  import { DnDTreeContext } from './DnDTreeContext.js';
19
+ import { DropIndicatorPosition } from './SortableItemContext.js';
20
+ import { toggleItemExpand } from '../utils/group-expands-helpers.js';
20
21
  import { jsxs, jsx } from 'react/jsx-runtime';
21
22
 
22
23
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -35,7 +36,6 @@ const ensure = function (argument) {
35
36
 
36
37
 
37
38
  const withConditionalDnDRowContext = Component => props => {
38
- const [lastActiveId, setLastActiveId] = React.useState('');
39
39
  const {
40
40
  props: {
41
41
  data,
@@ -43,6 +43,8 @@ const withConditionalDnDRowContext = Component => props => {
43
43
  getIsDropValid
44
44
  },
45
45
  flattenedItems,
46
+ updateUserExpandedState,
47
+ triggerTreeRerender,
46
48
  visibleItems: flattenedVisibleTree,
47
49
  withDragAndDrop
48
50
  } = useContext(TreeViewContext);
@@ -88,7 +90,8 @@ const withConditionalDnDRowContext = Component => props => {
88
90
  depth,
89
91
  dropIndicatorPosition,
90
92
  visibleItems,
91
- isDropValid
93
+ isDropValid,
94
+ overId
92
95
  } = useTreeDndkitConfig({
93
96
  flattenedItems,
94
97
  visibleItems: flattenedVisibleTreeForDnD,
@@ -98,7 +101,24 @@ const withConditionalDnDRowContext = Component => props => {
98
101
  getIsDropValid,
99
102
  maxDragAndDropLevel: Infinity
100
103
  });
101
- if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);
104
+ const timeoutRef = useRef();
105
+ useEffect(() => {
106
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
107
+
108
+ if (dropIndicatorPosition === DropIndicatorPosition.Inside && overId) {
109
+ timeoutRef.current = setTimeout(() => {
110
+ const overItem = visibleItems.find(item => item.uid === overId);
111
+
112
+ if (overItem) {
113
+ const realOverItem = overItem.original;
114
+
115
+ if (realOverItem.isGroup && !realOverItem.isExpanded) {
116
+ toggleItemExpand(realOverItem, triggerTreeRerender, updateUserExpandedState);
117
+ }
118
+ }
119
+ }, 1000);
120
+ }
121
+ }, [overId, dropIndicatorPosition, triggerTreeRerender, visibleItems, updateUserExpandedState]);
102
122
  if (withDragAndDrop) return /*#__PURE__*/jsxs(DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
103
123
  children: [/*#__PURE__*/jsx(SortableContext, _objectSpread(_objectSpread({}, sortableContextProps), {}, {
104
124
  children: /*#__PURE__*/_jsx(DnDTreeContext.Provider, {
@@ -107,8 +127,6 @@ const withConditionalDnDRowContext = Component => props => {
107
127
  depth,
108
128
  visibleItems: visibleItems.map(item => item.original),
109
129
  dropIndicatorPosition,
110
- lastActiveId,
111
- setLastActiveId,
112
130
  isDropValid
113
131
  }
114
132
  }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)))
@@ -21,8 +21,6 @@ const withDnDSortableItemContext = Component => props => {
21
21
  } = useContext(TreeViewContext);
22
22
  const {
23
23
  dropIndicatorPosition,
24
- lastActiveId,
25
- setLastActiveId,
26
24
  isDropValid
27
25
  } = useContext(DnDTreeContext);
28
26
  const id = props.item.id.toString(); // onMount generate unique options, so everyting is only ran once
@@ -41,11 +39,9 @@ const withDnDSortableItemContext = Component => props => {
41
39
  return _objectSpread(_objectSpread({}, useSortableHelpers), {}, {
42
40
  shouldShowDropIndicatorPosition: overIndex === index,
43
41
  dropIndicatorPosition,
44
- lastActiveId,
45
- setLastActiveId,
46
42
  isDropValid
47
43
  });
48
- }, [withDragAndDrop, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId, isDropValid]); // we use a context so we can easly access information wherever without bubbling down
44
+ }, [withDragAndDrop, useSortableHelpers, dropIndicatorPosition, isDropValid]); // we use a context so we can easly access information wherever without bubbling down
49
45
  // this context is all Memoized so as long as component is not re-mounted,
50
46
  // the context won't trigger un-required renders per-se...
51
47
 
@@ -29,7 +29,7 @@ const DnDHandle = _ref => {
29
29
  id: "".concat(id, "-drag-handle"),
30
30
  key: "".concat(id, "-drag-handle"),
31
31
  className: "drag-handle ".concat(isDragging ? '' : 'focuseable'),
32
- color: ['brand-primary', '800'],
32
+ color: isDragging ? ['neutral', '080'] : ['brand-primary', '800'],
33
33
  size: "s",
34
34
  tabIndex: 0
35
35
  }));
@@ -98,7 +98,7 @@ const TreeItem = props => {
98
98
  }, [isDropIndicatorPositionInside, isDropValid]);
99
99
  const dragOverlayClassName = useMemo(() => isDragOverlay ? 'drag-overlay' : '', [isDragOverlay]);
100
100
  const selectedClassName = useMemo(() => (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id) === item.id && !isDragOverlay ? 'selected' : '', [isDragOverlay, item.id, selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id]);
101
- const hoverClassName = useMemo(() => !isDragOverlay && ((hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id) === item.id || isDragging) ? 'hover' : '', [isDragOverlay, hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id, item.id, isDragging]);
101
+ const hoverClassName = useMemo(() => !isDragOverlay && (hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id) === item.id && !isDragging ? 'hover' : '', [isDragOverlay, hoverItem === null || hoverItem === void 0 ? void 0 : hoverItem.id, item.id, isDragging]);
102
102
  const fixedHeightClassname = useMemo(() => {
103
103
  if (labelOverflow === 'truncate') {
104
104
  if (rowSize === 'compact') return "".concat(DSTreeViewPrefix, "-").concat(treeItemBlockName, "--fixed-height-compact");
@@ -107,7 +107,11 @@ const TreeItem = props => {
107
107
 
108
108
  return '';
109
109
  }, [labelOverflow, rowSize]);
110
- const finalClassName = useMemo(() => "".concat(dropPreviewClassName, " ").concat(fixedHeightClassname, " ").concat(selectedClassName, " ").concat(hoverClassName, " ").concat(dragOverlayClassName), [dropPreviewClassName, selectedClassName, hoverClassName, fixedHeightClassname, dragOverlayClassName]);
110
+ const isDraggingClassname = useMemo(() => {
111
+ if (isDragging) return "".concat(DSTreeViewPrefix, "-").concat(treeItemBlockName, "--dragging");
112
+ return '';
113
+ }, [isDragging]);
114
+ const finalClassName = useMemo(() => "".concat(dropPreviewClassName, " ").concat(fixedHeightClassname, " ").concat(selectedClassName, " ").concat(hoverClassName, " ").concat(dragOverlayClassName, " ").concat(isDraggingClassname), [dropPreviewClassName, fixedHeightClassname, selectedClassName, hoverClassName, dragOverlayClassName, isDraggingClassname]);
111
115
  const handleItemClick = useCallback(e => {
112
116
  onItemClick(item, e);
113
117
  setFocusedItem(item);
@@ -28,8 +28,8 @@ const toggleItemExpand = function (itemToToggle, triggerTreeRerender, updateUser
28
28
 
29
29
  if (itemToToggle.node.model.isGroup) {
30
30
  itemToToggle.node.model.isExpanded = !isExpanded;
31
- triggerTreeRerender();
32
31
  updateUserExpandedState();
32
+ triggerTreeRerender();
33
33
  setTimeout(() => {
34
34
  if (typeof virtualIndex === 'number') scrollTo(virtualIndex, {
35
35
  align: 'start'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-treeview",
3
- "version": "2.3.2",
3
+ "version": "2.4.0-rc.1",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Tree View",
6
6
  "module": "./esm/index.js",
@@ -229,15 +229,15 @@
229
229
  "dependencies": {
230
230
  "@dnd-kit/core": "~4.0.1",
231
231
  "@dnd-kit/sortable": "~5.0.0",
232
- "@elliemae/ds-button": "2.3.2",
233
- "@elliemae/ds-circular-progress-indicator": "2.3.2",
234
- "@elliemae/ds-classnames": "2.3.2",
235
- "@elliemae/ds-drag-and-drop": "2.3.2",
236
- "@elliemae/ds-form": "2.3.2",
237
- "@elliemae/ds-icons": "2.3.2",
238
- "@elliemae/ds-props-helpers": "2.3.2",
239
- "@elliemae/ds-truncated-tooltip-text": "2.3.2",
240
- "@elliemae/ds-utilities": "2.3.2",
232
+ "@elliemae/ds-button": "2.4.0-rc.1",
233
+ "@elliemae/ds-circular-progress-indicator": "2.4.0-rc.1",
234
+ "@elliemae/ds-classnames": "2.4.0-rc.1",
235
+ "@elliemae/ds-drag-and-drop": "2.4.0-rc.1",
236
+ "@elliemae/ds-form": "2.4.0-rc.1",
237
+ "@elliemae/ds-icons": "2.4.0-rc.1",
238
+ "@elliemae/ds-props-helpers": "2.4.0-rc.1",
239
+ "@elliemae/ds-truncated-tooltip-text": "2.4.0-rc.1",
240
+ "@elliemae/ds-utilities": "2.4.0-rc.1",
241
241
  "react-desc": "~4.1.3",
242
242
  "react-highlight-words": "~0.17.0",
243
243
  "react-virtual": "~2.8.2",
@@ -6,8 +6,6 @@ declare type DnDTreeContextType = {
6
6
  activeIndex: number | undefined;
7
7
  visibleItems: DSTreeviewT.Item[] | undefined;
8
8
  dropIndicatorPosition: DropIndicatorPosition;
9
- lastActiveId: string | undefined;
10
- setLastActiveId: React.Dispatch<React.SetStateAction<string>> | undefined;
11
9
  isDropValid: boolean;
12
10
  };
13
11
  export declare const DnDTreeContext: import("react").Context<DnDTreeContextType>;
@@ -10,8 +10,6 @@ export declare type SortableItemContextType = {
10
10
  draggableProps: false | (ReturnType<typeof useSortable> & {
11
11
  dropIndicatorPosition: DropIndicatorPosition;
12
12
  shouldShowDropIndicatorPosition: boolean;
13
- lastActiveId?: string;
14
- setLastActiveId?: React.Dispatch<React.SetStateAction<string>>;
15
13
  isDropValid: boolean;
16
14
  });
17
15
  };
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { DSTreeviewT } from '../react-desc-prop-types';
3
- export declare const DnDHandle: ({ id, isDragOverlay }: {
3
+ interface DnDHandleProps {
4
4
  id: DSTreeviewT.StringOrNum;
5
5
  isDragOverlay: boolean;
6
- }) => JSX.Element;
6
+ }
7
+ export declare const DnDHandle: ({ id, isDragOverlay }: DnDHandleProps) => JSX.Element;
8
+ export {};