@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.
@@ -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", "isSelected", "isDisabled", "isParentFocused", "iconButtonProps"];
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 _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
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
- isSelected = props.isSelected,
48
- isDisabled = props.isDisabled,
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
- tree = _useTreeViewContext.tree;
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(e) {
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 _usePress = (0, _interactions.usePress)(_objectSpread(_objectSpread({}, others), {}, {
74
- ref: treeRowRef,
75
- onPress: pressRow
76
- })),
77
- isPressed = _usePress.isPressed,
78
- pressProps = _usePress.pressProps;
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
- isPressed: isPressed,
84
- isDisabled: isDisabled
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, pressProps, others);
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
- role: "gridcell"
102
- }, mergedProps), (items === null || items === void 0 ? void 0 : items.length) > 0 && (0, _react2.jsx)(_index.IconButtonToggle, {
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(_objectSpread({
112
- 'aria-label': "".concat(title, " expand or collapse button")
113
- }, isParentFocused && {
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
- pageLength = _useTreeViewContext.pageLength,
135
- setLastFocusedItem = _useTreeViewContext.setLastFocusedItem,
136
- lastFocusedItem = _useTreeViewContext.lastFocusedItem;
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
- optionProps = _useOption.optionProps,
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, isFocused);
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
- var addRefToArray = function addRefToArray(thisKey, thisRef) {
159
- setRefs(function (prev) {
160
- return addRefToArrayHelper(prev, thisKey, thisRef);
161
- });
162
- };
163
- var removeRefFromArray = function removeRefFromArray() {
164
- setRefs(function (prev) {
165
- return removeRefFromArrayHelper(prev, key);
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
- onKeyDown: function onKeyDown(e) {
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
- isSelected: isSelected,
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$value$items;
222
- return (0, _TreeView.SectionOrItemRender)(((_item$value$items = _item.value.items) === null || _item$value$items === void 0 ? void 0 : _item$value$items.length) > 0, (0, _react2.jsx)(TreeViewSection, {
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 _reactStately = require("react-stately");
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 children = _ref.children;
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
- data: {
126
- image: {
127
- src: _UserImage["default"],
128
- alt: 'user image'
129
- },
130
- text: data.personalInfo.fields[0].value,
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 _context, _context2;
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"])(_context = (0, _keys["default"])(data)).call(_context, function (item) {
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"])(_context2 = (0, _keys["default"])(data)).call(_context2, function (item) {
157
- var _context3;
158
- return (0, _react2.jsx)(_reactStately.Item, {
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"])(_context3 = data[item].badges).call(_context3, function (badge) {
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 _context4, _context5, _context6;
370
- return (0, _react2.jsx)(OverlayWrapper, null, (0, _react2.jsx)(_index.Box, {
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)(_reactStately.Item, {
418
+ }, (0, _react2.jsx)(_index.Item, {
386
419
  key: "population"
387
420
  }, "Denver"))), (0, _react2.jsx)(_index.AccordionGroup, {
388
- defaultExpandedKeys: (0, _concat["default"])(_context4 = []).call(_context4, (0, _map["default"])(_context5 = (0, _keys["default"])(editData)).call(_context5, function (item) {
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"])(_context6 = (0, _keys["default"])(editData)).call(_context6, function (item) {
393
- var _context7;
394
- return (0, _react2.jsx)(_reactStately.Item, {
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"])(_context7 = editData[item].fields).call(_context7, function (_ref5) {
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)(_reactStately.Item, {
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)(_reactStately.Item, {
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)(_reactStately.Item, {
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)(_reactStately.Item, {
472
+ }, (0, _react2.jsx)(_index.Item, {
440
473
  key: "language"
441
- }, "Select a timezone")))), (0, _react2.jsx)(_reactStately.Item, {
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)(_reactStately.Item, {
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",