@pingux/astro 2.39.0 → 2.40.0-alpha.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.
- 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/recipes/PanelContent.stories.js +66 -33
- 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/recipes/PanelContent.stories.js +58 -25
- 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({})),
|
@@ -10,11 +10,11 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
});
|
11
11
|
exports["default"] = exports.LabelValuePairs = exports.EditPanel = exports.DisplayPanel = exports.ColorBlockButton = exports.AddAttributeButton = void 0;
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
13
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
13
14
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
14
15
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
15
|
-
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
17
|
-
var
|
17
|
+
var _ChevronRightIcon = _interopRequireDefault(require("@pingux/mdi-react/ChevronRightIcon"));
|
18
18
|
var _PencilIcon = _interopRequireDefault(require("@pingux/mdi-react/PencilIcon"));
|
19
19
|
var _PlusIcon = _interopRequireDefault(require("@pingux/mdi-react/PlusIcon"));
|
20
20
|
var _hooks = require("../hooks");
|
@@ -107,12 +107,46 @@ var data = {
|
|
107
107
|
}
|
108
108
|
};
|
109
109
|
var OverlayWrapper = function OverlayWrapper(_ref) {
|
110
|
-
var
|
110
|
+
var _context, _context2, _context3;
|
111
|
+
var children = _ref.children,
|
112
|
+
isEditPanel = _ref.isEditPanel;
|
111
113
|
var _useOverlayPanelState = (0, _hooks.useOverlayPanelState)({
|
112
114
|
isDefaultOpen: true
|
113
115
|
}),
|
114
116
|
state = _useOverlayPanelState.state;
|
115
117
|
var triggerRef = (0, _react.useRef)();
|
118
|
+
var personalInfo = data.personalInfo;
|
119
|
+
var fields = personalInfo.fields;
|
120
|
+
var renderBreadcrumbs = (0, _react2.jsx)(_index.Breadcrumbs, {
|
121
|
+
icon: _ChevronRightIcon["default"]
|
122
|
+
}, (0, _react2.jsx)(_index.Item, {
|
123
|
+
"aria-label": personalInfo.label,
|
124
|
+
href: "https://www.pingidentity.com",
|
125
|
+
key: personalInfo.key,
|
126
|
+
variant: "buttons.link"
|
127
|
+
}, (0, _concat["default"])(_context = "".concat(fields[0].value, " ")).call(_context, fields[1].value)), (0, _react2.jsx)(_index.Item, {
|
128
|
+
"aria-label": "Edit",
|
129
|
+
key: "editKey",
|
130
|
+
variant: "buttons.link"
|
131
|
+
}, "Edit"));
|
132
|
+
var image = {
|
133
|
+
src: _UserImage["default"],
|
134
|
+
alt: 'user image'
|
135
|
+
};
|
136
|
+
var panelHeaderProps = isEditPanel ? {
|
137
|
+
data: {
|
138
|
+
image: image
|
139
|
+
},
|
140
|
+
slots: {
|
141
|
+
rightOfData: renderBreadcrumbs
|
142
|
+
}
|
143
|
+
} : {
|
144
|
+
data: {
|
145
|
+
image: image,
|
146
|
+
text: (0, _concat["default"])(_context2 = "".concat(fields[0].value, " ")).call(_context2, fields[1].value),
|
147
|
+
subtext: (0, _concat["default"])(_context3 = "".concat(fields[0].value.toLowerCase())).call(_context3, fields[1].value.toLowerCase())
|
148
|
+
}
|
149
|
+
};
|
116
150
|
return (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
|
117
151
|
ref: triggerRef,
|
118
152
|
onPress: state.open
|
@@ -121,21 +155,18 @@ var OverlayWrapper = function OverlayWrapper(_ref) {
|
|
121
155
|
isTransitioning: state.isTransitioning,
|
122
156
|
size: "large",
|
123
157
|
p: "0"
|
124
|
-
}, (0, _react2.jsx)(_index.PanelHeader, {
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
subtext: data.personalInfo.fields[1].value
|
132
|
-
}
|
133
|
-
}, (0, _react2.jsx)(_index.PanelHeaderSwitchField, null), (0, _react2.jsx)(_index.PanelHeaderMenu, null), (0, _react2.jsx)(_index.PanelHeaderCloseButton, {
|
158
|
+
}, (0, _react2.jsx)(_index.PanelHeader, panelHeaderProps, !isEditPanel && (0, _react2.jsx)(_index.PanelHeaderSwitchField, null), !isEditPanel && (0, _react2.jsx)(_index.PanelHeaderMenu, null, (0, _react2.jsx)(_index.Item, {
|
159
|
+
key: "enable"
|
160
|
+
}, "Enable user"), (0, _react2.jsx)(_index.Item, {
|
161
|
+
key: "disable"
|
162
|
+
}, "Disable user"), (0, _react2.jsx)(_index.Item, {
|
163
|
+
key: "delete"
|
164
|
+
}, "Delete user")), (0, _react2.jsx)(_index.PanelHeaderCloseButton, {
|
134
165
|
onPress: state.close
|
135
166
|
})), children));
|
136
167
|
};
|
137
168
|
var DisplayPanel = function DisplayPanel() {
|
138
|
-
var
|
169
|
+
var _context4, _context5;
|
139
170
|
var renderProfileTab = (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.Box, {
|
140
171
|
isRow: true,
|
141
172
|
gap: "md",
|
@@ -149,13 +180,13 @@ var DisplayPanel = function DisplayPanel() {
|
|
149
180
|
isRow: true,
|
150
181
|
justifyContent: "space-between"
|
151
182
|
}, (0, _react2.jsx)(_index.AccordionGroup, {
|
152
|
-
defaultExpandedKeys: (0, _map["default"])(
|
183
|
+
defaultExpandedKeys: (0, _map["default"])(_context4 = (0, _keys["default"])(data)).call(_context4, function (item) {
|
153
184
|
return data[item].key;
|
154
185
|
}),
|
155
186
|
labelHeadingTag: "h2"
|
156
|
-
}, (0, _map["default"])(
|
157
|
-
var
|
158
|
-
return (0, _react2.jsx)(
|
187
|
+
}, (0, _map["default"])(_context5 = (0, _keys["default"])(data)).call(_context5, function (item) {
|
188
|
+
var _context6;
|
189
|
+
return (0, _react2.jsx)(_index.Item, {
|
159
190
|
"data-id": data[item].label,
|
160
191
|
key: data[item].key,
|
161
192
|
label: data[item].label,
|
@@ -173,7 +204,7 @@ var DisplayPanel = function DisplayPanel() {
|
|
173
204
|
}), data[item].badges && (0, _react2.jsx)(_index.Box, {
|
174
205
|
isRow: true,
|
175
206
|
gap: "sm"
|
176
|
-
}, (0, _map["default"])(
|
207
|
+
}, (0, _map["default"])(_context6 = data[item].badges).call(_context6, function (badge) {
|
177
208
|
return (0, _react2.jsx)(_index.Badge, {
|
178
209
|
label: badge,
|
179
210
|
variant: "defaultBadge",
|
@@ -366,8 +397,10 @@ var editData = {
|
|
366
397
|
}
|
367
398
|
};
|
368
399
|
var EditPanel = function EditPanel() {
|
369
|
-
var
|
370
|
-
return (0, _react2.jsx)(OverlayWrapper,
|
400
|
+
var _context7, _context8, _context9;
|
401
|
+
return (0, _react2.jsx)(OverlayWrapper, {
|
402
|
+
isEditPanel: true
|
403
|
+
}, (0, _react2.jsx)(_index.Box, {
|
371
404
|
p: "lg",
|
372
405
|
pb: "0"
|
373
406
|
}, (0, _react2.jsx)(_index.Box, {
|
@@ -382,16 +415,16 @@ var EditPanel = function EditPanel() {
|
|
382
415
|
label: "Population",
|
383
416
|
isRequired: true,
|
384
417
|
defaultSelectedKey: "population"
|
385
|
-
}, (0, _react2.jsx)(
|
418
|
+
}, (0, _react2.jsx)(_index.Item, {
|
386
419
|
key: "population"
|
387
420
|
}, "Denver"))), (0, _react2.jsx)(_index.AccordionGroup, {
|
388
|
-
defaultExpandedKeys: (0, _concat["default"])(
|
421
|
+
defaultExpandedKeys: (0, _concat["default"])(_context7 = []).call(_context7, (0, _map["default"])(_context8 = (0, _keys["default"])(editData)).call(_context8, function (item) {
|
389
422
|
return editData[item].key;
|
390
423
|
}), ['preferencesKey', 'customAttributesKey', 'jsonAttributesKey']),
|
391
424
|
labelHeadingTag: "h2"
|
392
|
-
}, (0, _map["default"])(
|
393
|
-
var
|
394
|
-
return (0, _react2.jsx)(
|
425
|
+
}, (0, _map["default"])(_context9 = (0, _keys["default"])(editData)).call(_context9, function (item) {
|
426
|
+
var _context10;
|
427
|
+
return (0, _react2.jsx)(_index.Item, {
|
395
428
|
"data-id": editData[item].label,
|
396
429
|
key: editData[item].key,
|
397
430
|
label: editData[item].label,
|
@@ -404,7 +437,7 @@ var EditPanel = function EditPanel() {
|
|
404
437
|
previewHeight: 40,
|
405
438
|
previewWidth: 40,
|
406
439
|
previewImage: _UserImage["default"]
|
407
|
-
}), (0, _map["default"])(
|
440
|
+
}), (0, _map["default"])(_context10 = editData[item].fields).call(_context10, function (_ref5) {
|
408
441
|
var label = _ref5.label,
|
409
442
|
value = _ref5.value,
|
410
443
|
slot = _ref5.slot;
|
@@ -415,7 +448,7 @@ var EditPanel = function EditPanel() {
|
|
415
448
|
defaultValue: value
|
416
449
|
}), slot);
|
417
450
|
})));
|
418
|
-
}), (0, _react2.jsx)(
|
451
|
+
}), (0, _react2.jsx)(_index.Item, {
|
419
452
|
"data-id": "preferences",
|
420
453
|
key: "preferencesKey",
|
421
454
|
label: "Preferences",
|
@@ -426,19 +459,19 @@ var EditPanel = function EditPanel() {
|
|
426
459
|
}, (0, _react2.jsx)(_index.SelectField, {
|
427
460
|
label: "Preferred Language",
|
428
461
|
defaultSelectedKey: "language"
|
429
|
-
}, (0, _react2.jsx)(
|
462
|
+
}, (0, _react2.jsx)(_index.Item, {
|
430
463
|
key: "language"
|
431
464
|
}, "Select a Language")), (0, _react2.jsx)(_index.SelectField, {
|
432
465
|
label: "Locale",
|
433
466
|
defaultSelectedKey: "language"
|
434
|
-
}, (0, _react2.jsx)(
|
467
|
+
}, (0, _react2.jsx)(_index.Item, {
|
435
468
|
key: "language"
|
436
469
|
}, "Select a locale")), (0, _react2.jsx)(_index.SelectField, {
|
437
470
|
label: "Timezone",
|
438
471
|
defaultSelectedKey: "language"
|
439
|
-
}, (0, _react2.jsx)(
|
472
|
+
}, (0, _react2.jsx)(_index.Item, {
|
440
473
|
key: "language"
|
441
|
-
}, "Select a timezone")))), (0, _react2.jsx)(
|
474
|
+
}, "Select a timezone")))), (0, _react2.jsx)(_index.Item, {
|
442
475
|
"data-id": "customAttributes",
|
443
476
|
key: "customAttributesKey",
|
444
477
|
label: "Custom Attributes",
|
@@ -447,7 +480,7 @@ var EditPanel = function EditPanel() {
|
|
447
480
|
fontWeight: "-1",
|
448
481
|
fontSize: "md",
|
449
482
|
textAlign: "center"
|
450
|
-
}, "Click + Add to select a custom attribute")), (0, _react2.jsx)(
|
483
|
+
}, "Click + Add to select a custom attribute")), (0, _react2.jsx)(_index.Item, {
|
451
484
|
"data-id": "jsonAttributes",
|
452
485
|
key: "jsonAttributesKey",
|
453
486
|
label: "JSON Attributes",
|