@pingux/astro 2.39.0-alpha.0 → 2.40.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/TreeView/InsertionIndicator.js +50 -0
- package/lib/cjs/components/TreeView/TreeView.js +227 -34
- package/lib/cjs/components/TreeView/TreeView.stories.js +3 -2
- package/lib/cjs/components/TreeView/TreeView.styles.js +26 -6
- package/lib/cjs/components/TreeView/TreeView.test.js +258 -8
- package/lib/cjs/components/TreeView/TreeViewItem.js +28 -56
- package/lib/cjs/components/TreeView/TreeViewKeyboardDelegate.test.js +19 -0
- package/lib/cjs/components/TreeView/TreeViewRow.js +123 -32
- package/lib/cjs/components/TreeView/TreeViewSection.js +33 -67
- package/lib/cjs/utils/testUtils/dndMocks.js +232 -0
- package/lib/components/TreeView/InsertionIndicator.js +41 -0
- package/lib/components/TreeView/TreeView.js +224 -34
- package/lib/components/TreeView/TreeView.stories.js +3 -2
- package/lib/components/TreeView/TreeView.styles.js +26 -6
- package/lib/components/TreeView/TreeView.test.js +262 -7
- package/lib/components/TreeView/TreeViewItem.js +29 -57
- package/lib/components/TreeView/TreeViewKeyboardDelegate.test.js +19 -0
- package/lib/components/TreeView/TreeViewRow.js +129 -38
- package/lib/components/TreeView/TreeViewSection.js +34 -68
- package/lib/utils/testUtils/dndMocks.js +218 -0
- package/package.json +4 -1
@@ -15,6 +15,9 @@ _Object$defineProperty(exports, "__esModule", {
|
|
15
15
|
value: true
|
16
16
|
});
|
17
17
|
exports["default"] = void 0;
|
18
|
+
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
19
|
+
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
20
|
+
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
18
21
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
19
22
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
20
23
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
@@ -23,18 +26,22 @@ var _FolderIcon = _interopRequireDefault(require("@pingux/mdi-react/FolderIcon")
|
|
23
26
|
var _LockIcon = _interopRequireDefault(require("@pingux/mdi-react/LockIcon"));
|
24
27
|
var _MenuDownIcon = _interopRequireDefault(require("@pingux/mdi-react/MenuDownIcon"));
|
25
28
|
var _MenuRightIcon = _interopRequireDefault(require("@pingux/mdi-react/MenuRightIcon"));
|
29
|
+
var _dnd = require("@react-aria/dnd");
|
30
|
+
var _focus = require("@react-aria/focus");
|
26
31
|
var _interactions = require("@react-aria/interactions");
|
32
|
+
var _listbox = require("@react-aria/listbox");
|
27
33
|
var _utils = require("@react-aria/utils");
|
28
34
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
29
35
|
var _TreeViewContext = require("../../context/TreeViewContext");
|
30
36
|
var _hooks = require("../../hooks");
|
31
37
|
var _index = require("../../index");
|
38
|
+
var _TreeViewSection = require("./TreeViewSection");
|
32
39
|
var _react2 = require("@emotion/react");
|
33
|
-
var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "
|
40
|
+
var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "isDragging", "onKeyDown"];
|
34
41
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
35
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
36
43
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
37
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
44
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
38
45
|
var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
39
46
|
var title = props.title,
|
40
47
|
_props$mainIcon = props.mainIcon,
|
@@ -44,10 +51,8 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
44
51
|
item = props.item,
|
45
52
|
items = props.items,
|
46
53
|
isExpanded = props.isExpanded,
|
47
|
-
|
48
|
-
|
49
|
-
isParentFocused = props.isParentFocused,
|
50
|
-
iconButtonProps = props.iconButtonProps,
|
54
|
+
isDragging = props.isDragging,
|
55
|
+
_onKeyDown = props.onKeyDown,
|
51
56
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
52
57
|
var treeRowRef = (0, _react.useRef)();
|
53
58
|
/* istanbul ignore next */
|
@@ -57,34 +62,112 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
57
62
|
var key = item.key;
|
58
63
|
var _useTreeViewContext = (0, _TreeViewContext.useTreeViewContext)(),
|
59
64
|
state = _useTreeViewContext.state,
|
60
|
-
|
65
|
+
dragState = _useTreeViewContext.dragState,
|
66
|
+
dropState = _useTreeViewContext.dropState,
|
67
|
+
refArray = _useTreeViewContext.refArray,
|
68
|
+
setRefs = _useTreeViewContext.setRefs,
|
69
|
+
tree = _useTreeViewContext.tree,
|
70
|
+
setLastFocusedItem = _useTreeViewContext.setLastFocusedItem,
|
71
|
+
lastFocusedItem = _useTreeViewContext.lastFocusedItem,
|
72
|
+
flatKeyArray = _useTreeViewContext.flatKeyArray,
|
73
|
+
targetKey = _useTreeViewContext.targetKey,
|
74
|
+
keyBeingDragged = _useTreeViewContext.keyBeingDragged;
|
75
|
+
var addRefToArray = function addRefToArray(thisKey, thisRef) {
|
76
|
+
setRefs(function (prev) {
|
77
|
+
return (0, _TreeViewSection.addRefToArrayHelper)(prev, thisKey, thisRef);
|
78
|
+
});
|
79
|
+
};
|
80
|
+
var removeRefFromArray = function removeRefFromArray() {
|
81
|
+
setRefs(function (prev) {
|
82
|
+
return (0, _TreeViewSection.removeRefFromArrayHelper)(prev, key);
|
83
|
+
});
|
84
|
+
};
|
85
|
+
|
86
|
+
// this runs on mount
|
87
|
+
(0, _react.useEffect)(function () {
|
88
|
+
addRefToArray(key, treeRowRef);
|
89
|
+
}, []);
|
90
|
+
|
91
|
+
// cleanup, that runs on dismount.
|
92
|
+
(0, _react.useEffect)(function () {
|
93
|
+
return function () {
|
94
|
+
return removeRefFromArray(key, refArray);
|
95
|
+
};
|
96
|
+
}, []);
|
61
97
|
var _useHover = (0, _interactions.useHover)({}),
|
62
98
|
hoverProps = _useHover.hoverProps,
|
63
99
|
isHovered = _useHover.isHovered;
|
64
|
-
var pressIcon = function pressIcon(
|
100
|
+
var pressIcon = function pressIcon() {
|
65
101
|
state.toggleKey(item.key);
|
66
|
-
if (iconButtonProps !== null && iconButtonProps !== void 0 && iconButtonProps.onPress) {
|
67
|
-
iconButtonProps.onPress(e);
|
68
|
-
}
|
69
102
|
};
|
103
|
+
var _useOption = (0, _listbox.useOption)({
|
104
|
+
key: key
|
105
|
+
}, state, treeRowRef),
|
106
|
+
optionProps = _useOption.optionProps,
|
107
|
+
isDisabled = _useOption.isDisabled,
|
108
|
+
isSelected = _useOption.isSelected;
|
70
109
|
var pressRow = function pressRow() {
|
110
|
+
if (isSelected) {
|
111
|
+
tree.setSelectedKeys([]);
|
112
|
+
return;
|
113
|
+
}
|
71
114
|
tree.setSelectedKeys([item.key]);
|
72
115
|
};
|
73
|
-
var
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
116
|
+
var _useDroppableItem = (0, _dnd.useDroppableItem)({
|
117
|
+
target: {
|
118
|
+
type: 'item',
|
119
|
+
key: item.key,
|
120
|
+
dropPosition: 'on'
|
121
|
+
}
|
122
|
+
}, dropState, treeRowRef),
|
123
|
+
dropProps = _useDroppableItem.dropProps,
|
124
|
+
isDropTarget = _useDroppableItem.isDropTarget;
|
125
|
+
var _useDraggableItem = (0, _dnd.useDraggableItem)({
|
126
|
+
hasDragButton: true,
|
127
|
+
key: item.key
|
128
|
+
}, dragState),
|
129
|
+
dragProps = _useDraggableItem.dragProps;
|
130
|
+
var _useFocusRing = (0, _focus.useFocusRing)(),
|
131
|
+
focusProps = _useFocusRing.focusProps,
|
132
|
+
isFocused = _useFocusRing.isFocused;
|
133
|
+
var _useFocusRing2 = (0, _focus.useFocusRing)({
|
134
|
+
within: true
|
135
|
+
}),
|
136
|
+
focusWithinProps = _useFocusRing2.focusProps,
|
137
|
+
isFocusedWithin = _useFocusRing2.isFocused;
|
138
|
+
|
139
|
+
// we do not allow for items to be dropped on themselves, or on their children
|
140
|
+
var validateDropTarget = function validateDropTarget() {
|
141
|
+
var _foundTargetItem$pare, _context;
|
142
|
+
var foundTargetItem = (0, _find["default"])(flatKeyArray).call(flatKeyArray, function (_item) {
|
143
|
+
return _item.key === targetKey;
|
144
|
+
});
|
145
|
+
if (!isDropTarget || foundTargetItem !== null && foundTargetItem !== void 0 && (_foundTargetItem$pare = foundTargetItem.parentKeys) !== null && _foundTargetItem$pare !== void 0 && (0, _includes["default"])(_foundTargetItem$pare).call(_foundTargetItem$pare, keyBeingDragged) || foundTargetItem.key === keyBeingDragged || (0, _includes["default"])(_context = (0, _from["default"])(state.disabledKeys)).call(_context, foundTargetItem.key)) {
|
146
|
+
return false;
|
147
|
+
}
|
148
|
+
if (isDropTarget) {
|
149
|
+
return true;
|
150
|
+
}
|
151
|
+
return false;
|
152
|
+
};
|
153
|
+
var isValidDropTarget = (0, _react.useMemo)(function () {
|
154
|
+
return validateDropTarget();
|
155
|
+
}, [targetKey, isDropTarget]);
|
79
156
|
var _useStatusClasses = (0, _hooks.useStatusClasses)('', {
|
80
157
|
isHovered: isHovered,
|
81
158
|
isSelected: isSelected,
|
82
159
|
isExpanded: isExpanded,
|
83
|
-
|
84
|
-
|
160
|
+
isDisabled: isDisabled,
|
161
|
+
isDragging: isDragging,
|
162
|
+
isDropTarget: isValidDropTarget,
|
163
|
+
isFocused: isFocused
|
85
164
|
}),
|
86
165
|
classNames = _useStatusClasses.classNames;
|
87
|
-
var mergedProps = (0, _utils.mergeProps)(hoverProps,
|
166
|
+
var mergedProps = (0, _utils.mergeProps)(hoverProps, others, optionProps, dragProps, dropProps, focusProps, focusWithinProps, {
|
167
|
+
onFocus: function onFocus() {
|
168
|
+
setLastFocusedItem(key);
|
169
|
+
}
|
170
|
+
});
|
88
171
|
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
89
172
|
ref: treeRowRef,
|
90
173
|
isRow: true,
|
@@ -96,10 +179,20 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
96
179
|
border: 'none'
|
97
180
|
}
|
98
181
|
},
|
182
|
+
variant: "treeView.rowWrapper",
|
99
183
|
className: classNames,
|
100
184
|
key: "".concat(key, " box"),
|
101
|
-
|
102
|
-
}, mergedProps
|
185
|
+
"data-droptarget": isDropTarget
|
186
|
+
}, mergedProps, {
|
187
|
+
role: "gridcell",
|
188
|
+
tabIndex: "-1"
|
189
|
+
}, lastFocusedItem === key && {
|
190
|
+
tabIndex: 0
|
191
|
+
}, {
|
192
|
+
onKeyDown: function onKeyDown(e) {
|
193
|
+
_onKeyDown(e);
|
194
|
+
}
|
195
|
+
}), (items === null || items === void 0 ? void 0 : items.length) > 0 && (0, _react2.jsx)(_index.IconButtonToggle, {
|
103
196
|
onToggle: pressIcon,
|
104
197
|
isToggled: isExpanded,
|
105
198
|
defaultIcon: _MenuRightIcon["default"],
|
@@ -108,12 +201,11 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
108
201
|
size: 25,
|
109
202
|
title: "".concat(title, " expand or collapse button")
|
110
203
|
},
|
111
|
-
buttonProps: _objectSpread(
|
112
|
-
'aria-label': "".concat(title, " expand or collapse button")
|
113
|
-
|
204
|
+
buttonProps: _objectSpread({
|
205
|
+
'aria-label': "".concat(title, " expand or collapse button"),
|
206
|
+
tabIndex: '-1'
|
207
|
+
}, lastFocusedItem === key && isFocusedWithin && {
|
114
208
|
tabIndex: 0
|
115
|
-
}), !isParentFocused && {
|
116
|
-
tabIndex: -1
|
117
209
|
})
|
118
210
|
}), (0, _react2.jsx)(_index.Box, {
|
119
211
|
isRow: true,
|
@@ -123,7 +215,8 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
123
215
|
variant: "treeView.treeRow",
|
124
216
|
sx: !items && {
|
125
217
|
ml: '36px'
|
126
|
-
}
|
218
|
+
},
|
219
|
+
onClick: pressRow
|
127
220
|
}, (0, _react2.jsx)(_index.Icon, {
|
128
221
|
color: "focus",
|
129
222
|
icon: mainIcon,
|
@@ -142,14 +235,12 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
142
235
|
});
|
143
236
|
TreeViewRow.propTypes = {
|
144
237
|
isSelected: _propTypes["default"].bool,
|
238
|
+
isDragging: _propTypes["default"].bool,
|
239
|
+
onKeyDown: _propTypes["default"].func,
|
145
240
|
isDisabled: _propTypes["default"].bool,
|
146
241
|
isExpanded: _propTypes["default"].bool,
|
147
|
-
isParentFocused: _propTypes["default"].bool,
|
148
242
|
title: _propTypes["default"].string,
|
149
243
|
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({})),
|
150
|
-
iconButtonProps: _propTypes["default"].shape({
|
151
|
-
onPress: _propTypes["default"].func
|
152
|
-
}),
|
153
244
|
item: _propTypes["default"].shape({
|
154
245
|
key: _propTypes["default"].string
|
155
246
|
}),
|
@@ -9,20 +9,17 @@ _Object$defineProperty(exports, "__esModule", {
|
|
9
9
|
value: true
|
10
10
|
});
|
11
11
|
exports.removeRefFromArrayHelper = exports.onKeyDownSection = exports["default"] = exports.addRefToArrayHelper = void 0;
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
13
12
|
var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
|
14
13
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
15
14
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
16
15
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
17
16
|
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
18
17
|
var _react = _interopRequireWildcard(require("react"));
|
19
|
-
var _focus = require("@react-aria/focus");
|
20
18
|
var _listbox = require("@react-aria/listbox");
|
21
|
-
var _utils = require("@react-aria/utils");
|
22
19
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
23
20
|
var _TreeViewContext = require("../../context/TreeViewContext");
|
24
|
-
var _hooks = require("../../hooks");
|
25
21
|
var _index2 = require("../../index");
|
22
|
+
var _InsertionIndicator = _interopRequireDefault(require("./InsertionIndicator"));
|
26
23
|
var _TreeView = require("./TreeView");
|
27
24
|
var _TreeViewKeyboardDelegate = require("./TreeViewKeyboardDelegate");
|
28
25
|
var _TreeViewRow = _interopRequireDefault(require("./TreeViewRow"));
|
@@ -72,12 +69,11 @@ var onKeyDownSection = function onKeyDownSection(e, state, key, tree, isSelected
|
|
72
69
|
}
|
73
70
|
break;
|
74
71
|
case 40:
|
75
|
-
_TreeViewKeyboardDelegate.sectionPressHandlers.onDownPress(e, key, refArray, flatKeyArray);
|
76
72
|
e.preventDefault();
|
77
73
|
e.stopPropagation();
|
74
|
+
_TreeViewKeyboardDelegate.sectionPressHandlers.onDownPress(e, key, refArray, flatKeyArray);
|
78
75
|
break;
|
79
76
|
default:
|
80
|
-
/* istanbul ignore next */
|
81
77
|
break;
|
82
78
|
}
|
83
79
|
};
|
@@ -129,85 +125,48 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
129
125
|
state = _useTreeViewContext.state,
|
130
126
|
tree = _useTreeViewContext.tree,
|
131
127
|
refArray = _useTreeViewContext.refArray,
|
132
|
-
setRefs = _useTreeViewContext.setRefs,
|
133
128
|
flatKeyArray = _useTreeViewContext.flatKeyArray,
|
134
|
-
|
135
|
-
|
136
|
-
|
129
|
+
dragState = _useTreeViewContext.dragState,
|
130
|
+
dropState = _useTreeViewContext.dropState,
|
131
|
+
pageLength = _useTreeViewContext.pageLength;
|
137
132
|
var _useOption = (0, _listbox.useOption)({
|
138
133
|
key: key
|
139
134
|
}, state, treeSectionRef),
|
140
|
-
|
141
|
-
isDisabled = _useOption.isDisabled
|
142
|
-
isSelected = _useOption.isSelected;
|
143
|
-
var _useFocusRing = (0, _focus.useFocusRing)(),
|
144
|
-
focusProps = _useFocusRing.focusProps,
|
145
|
-
isFocused = _useFocusRing.isFocused;
|
146
|
-
var _useFocusRing2 = (0, _focus.useFocusRing)({
|
147
|
-
within: true
|
148
|
-
}),
|
149
|
-
focusPropsWithin = _useFocusRing2.focusProps,
|
150
|
-
isFocusedWithin = _useFocusRing2.isFocused;
|
135
|
+
isSelected = _useOption.isSelected,
|
136
|
+
isDisabled = _useOption.isDisabled;
|
151
137
|
var isExpanded = state.expandedKeys.has(key);
|
138
|
+
var isDragging = dragState.isDragging(item.key);
|
152
139
|
var onKeyDownFunction = function onKeyDownFunction(e) {
|
153
|
-
onKeyDownSection(e, state, key, tree, isSelected, isExpanded, focusManager, flatKeyArray, refArray, pageLength,
|
140
|
+
onKeyDownSection(e, state, key, tree, isSelected, isExpanded, focusManager, flatKeyArray, refArray, pageLength, true);
|
154
141
|
if (onKeyDown) {
|
155
142
|
onKeyDown(e, key);
|
156
143
|
}
|
157
144
|
};
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
});
|
167
|
-
};
|
168
|
-
|
169
|
-
// adds and removes refs on mount and dismount
|
170
|
-
(0, _react.useEffect)(function () {
|
171
|
-
// this runs on mount
|
172
|
-
addRefToArray(key, treeSectionRef);
|
173
|
-
return function () {
|
174
|
-
// this runs on cleanup
|
175
|
-
removeRefFromArray(key, refArray);
|
176
|
-
};
|
177
|
-
}, []);
|
178
|
-
var mergedProps = (0, _utils.mergeProps)(focusPropsWithin, focusProps, optionProps, {
|
179
|
-
onFocus: function onFocus() {
|
180
|
-
return setLastFocusedItem(key);
|
181
|
-
}
|
182
|
-
});
|
183
|
-
var _useStatusClasses = (0, _hooks.useStatusClasses)('', {
|
184
|
-
isFocused: isFocused
|
185
|
-
}),
|
186
|
-
classNames = _useStatusClasses.classNames;
|
187
|
-
return (0, _react2.jsx)(_index2.Box, (0, _extends2["default"])({
|
145
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_InsertionIndicator["default"], {
|
146
|
+
target: {
|
147
|
+
type: 'item',
|
148
|
+
key: item.key,
|
149
|
+
dropPosition: 'before'
|
150
|
+
},
|
151
|
+
dropState: dropState
|
152
|
+
}), (0, _react2.jsx)(_index2.Box, {
|
188
153
|
ref: treeSectionRef,
|
189
154
|
"aria-expanded": isExpanded,
|
190
|
-
"aria-disabled": isDisabled
|
191
|
-
}, mergedProps, {
|
155
|
+
"aria-disabled": isDisabled,
|
192
156
|
role: "row",
|
193
157
|
variant: "treeView.wrapper",
|
194
|
-
className: classNames,
|
195
158
|
"aria-selected": isSelected,
|
159
|
+
tabIndex: "-1",
|
196
160
|
"aria-level": level,
|
197
161
|
"aria-setsize": setSize,
|
198
|
-
"aria-posinset": position + 1
|
199
|
-
|
200
|
-
return onKeyDownFunction(e);
|
201
|
-
},
|
202
|
-
tabIndex: lastFocusedItem === key ? 0 : -1
|
203
|
-
}), (0, _react2.jsx)(_TreeViewRow["default"], {
|
162
|
+
"aria-posinset": position + 1
|
163
|
+
}, (0, _react2.jsx)(_TreeViewRow["default"], {
|
204
164
|
item: item,
|
205
165
|
title: title,
|
206
166
|
items: items,
|
167
|
+
isDragging: isDragging,
|
207
168
|
isExpanded: isExpanded,
|
208
|
-
|
209
|
-
isDisabled: isDisabled,
|
210
|
-
isParentFocused: isFocusedWithin
|
169
|
+
onKeyDown: onKeyDownFunction
|
211
170
|
}), isExpanded && (0, _react2.jsx)(_index2.Box, {
|
212
171
|
role: "rowgroup",
|
213
172
|
key: "".concat(item.key, " ul"),
|
@@ -218,8 +177,8 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
218
177
|
}
|
219
178
|
}
|
220
179
|
}, (0, _map["default"])(_context3 = (0, _from["default"])(items)).call(_context3, function (_item, _index) {
|
221
|
-
var _item$
|
222
|
-
return (0, _TreeView.SectionOrItemRender)(((_item$
|
180
|
+
var _item$children;
|
181
|
+
return (0, _TreeView.SectionOrItemRender)(((_item$children = _item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0, (0, _react2.jsx)(TreeViewSection, {
|
223
182
|
item: _item,
|
224
183
|
items: _item.children,
|
225
184
|
title: _item.value.title,
|
@@ -237,7 +196,14 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
237
196
|
position: _index,
|
238
197
|
setSize: items.length
|
239
198
|
}));
|
240
|
-
})))
|
199
|
+
}))), (0, _react2.jsx)(_InsertionIndicator["default"], {
|
200
|
+
target: {
|
201
|
+
type: 'item',
|
202
|
+
key: item.key,
|
203
|
+
dropPosition: 'after'
|
204
|
+
},
|
205
|
+
dropState: dropState
|
206
|
+
}));
|
241
207
|
});
|
242
208
|
TreeViewSection.propTypes = {
|
243
209
|
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({})),
|