react-aria-components 1.15.0 → 1.16.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/dist/Button.main.js +3 -2
- package/dist/Button.main.js.map +1 -1
- package/dist/Button.mjs +3 -2
- package/dist/Button.module.js +3 -2
- package/dist/Button.module.js.map +1 -1
- package/dist/Collection.main.js +3 -0
- package/dist/Collection.main.js.map +1 -1
- package/dist/Collection.mjs +3 -0
- package/dist/Collection.module.js +3 -0
- package/dist/Collection.module.js.map +1 -1
- package/dist/ComboBox.main.js +59 -8
- package/dist/ComboBox.main.js.map +1 -1
- package/dist/ComboBox.mjs +61 -12
- package/dist/ComboBox.module.js +61 -12
- package/dist/ComboBox.module.js.map +1 -1
- package/dist/DateField.main.js +8 -4
- package/dist/DateField.main.js.map +1 -1
- package/dist/DateField.mjs +8 -4
- package/dist/DateField.module.js +8 -4
- package/dist/DateField.module.js.map +1 -1
- package/dist/DatePicker.main.js +6 -2
- package/dist/DatePicker.main.js.map +1 -1
- package/dist/DatePicker.mjs +6 -2
- package/dist/DatePicker.module.js +6 -2
- package/dist/DatePicker.module.js.map +1 -1
- package/dist/DropZone.main.js +1 -1
- package/dist/DropZone.main.js.map +1 -1
- package/dist/DropZone.mjs +2 -2
- package/dist/DropZone.module.js +2 -2
- package/dist/DropZone.module.js.map +1 -1
- package/dist/FileTrigger.main.js +1 -1
- package/dist/FileTrigger.main.js.map +1 -1
- package/dist/FileTrigger.mjs +2 -2
- package/dist/FileTrigger.module.js +2 -2
- package/dist/FileTrigger.module.js.map +1 -1
- package/dist/GridList.main.js +7 -4
- package/dist/GridList.main.js.map +1 -1
- package/dist/GridList.mjs +7 -5
- package/dist/GridList.module.js +7 -5
- package/dist/GridList.module.js.map +1 -1
- package/dist/HiddenDateInput.main.js +3 -1
- package/dist/HiddenDateInput.main.js.map +1 -1
- package/dist/HiddenDateInput.mjs +3 -1
- package/dist/HiddenDateInput.module.js +3 -1
- package/dist/HiddenDateInput.module.js.map +1 -1
- package/dist/Keyboard.main.js.map +1 -1
- package/dist/Keyboard.module.js.map +1 -1
- package/dist/ListBox.main.js +2 -1
- package/dist/ListBox.main.js.map +1 -1
- package/dist/ListBox.mjs +3 -2
- package/dist/ListBox.module.js +3 -2
- package/dist/ListBox.module.js.map +1 -1
- package/dist/Menu.main.js +3 -1
- package/dist/Menu.main.js.map +1 -1
- package/dist/Menu.mjs +3 -1
- package/dist/Menu.module.js +3 -1
- package/dist/Menu.module.js.map +1 -1
- package/dist/Popover.main.js +1 -1
- package/dist/Popover.main.js.map +1 -1
- package/dist/Popover.mjs +3 -3
- package/dist/Popover.module.js +3 -3
- package/dist/Popover.module.js.map +1 -1
- package/dist/Tree.main.js +151 -102
- package/dist/Tree.main.js.map +1 -1
- package/dist/Tree.mjs +153 -106
- package/dist/Tree.module.js +153 -106
- package/dist/Tree.module.js.map +1 -1
- package/dist/import.mjs +3 -3
- package/dist/main.js +4 -0
- package/dist/main.js.map +1 -1
- package/dist/module.js +3 -3
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +77 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.main.js.map +1 -1
- package/dist/utils.module.js.map +1 -1
- package/package.json +23 -23
- package/src/Button.tsx +4 -2
- package/src/Collection.tsx +6 -0
- package/src/ComboBox.tsx +89 -12
- package/src/DateField.tsx +14 -5
- package/src/DatePicker.tsx +11 -2
- package/src/DropZone.tsx +2 -2
- package/src/FileTrigger.tsx +2 -2
- package/src/GridList.tsx +12 -3
- package/src/HiddenDateInput.tsx +2 -1
- package/src/Keyboard.tsx +2 -2
- package/src/ListBox.tsx +5 -4
- package/src/Menu.tsx +3 -2
- package/src/Popover.tsx +3 -3
- package/src/Tree.tsx +209 -146
- package/src/index.ts +4 -3
- package/src/utils.tsx +7 -6
package/dist/Tree.mjs
CHANGED
|
@@ -3,14 +3,15 @@ import {CheckboxContext as $4e85f108e88277b8$export$b085522c77523c51} from "./RS
|
|
|
3
3
|
import {DEFAULT_SLOT as $64fa3d84918910a7$export$c62b8e45d58ddad9, dom as $64fa3d84918910a7$export$df3a06d6289f983e, Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from "./utils.mjs";
|
|
4
4
|
import {CollectionRendererContext as $7135fc7d473fd974$export$4feb769f8ddf26c5, DefaultCollectionRenderer as $7135fc7d473fd974$export$a164736487e3f0ae} from "./Collection.mjs";
|
|
5
5
|
import {DragAndDropContext as $612b8eb6cb90e02d$export$d188a835a7bc5783, DropIndicatorContext as $612b8eb6cb90e02d$export$f55761759794cf55, useDndPersistedKeys as $612b8eb6cb90e02d$export$d1e8e3fbb7461f6, useRenderDropIndicator as $612b8eb6cb90e02d$export$971707d8a129a1f7} from "./DragAndDrop.mjs";
|
|
6
|
+
import {GridListHeader as $72e60046c03fbe42$export$1b574dbdb0075ff6, GridListHeaderContext as $72e60046c03fbe42$export$87f5843bfb30d205, GridListHeaderInnerContext as $72e60046c03fbe42$export$bc7e8a4031ec2a33} from "./GridList.mjs";
|
|
6
7
|
import {SelectionIndicatorContext as $1d5b8b8664671ef2$export$c9549807523555e0} from "./SelectionIndicator.mjs";
|
|
7
8
|
import {SharedElementTransition as $c8a5a149f625efcf$export$758399f318e6385a} from "./SharedElementTransition.mjs";
|
|
8
9
|
import {TreeDropTargetDelegate as $7e0f784ed4e400df$export$82c13862611c034e} from "./TreeDropTargetDelegate.mjs";
|
|
9
|
-
import {useLocale as $kUtXx$useLocale, useCollator as $kUtXx$useCollator, useTree as $kUtXx$useTree, ListKeyboardDelegate as $kUtXx$ListKeyboardDelegate, useFocusRing as $kUtXx$useFocusRing, FocusScope as $kUtXx$FocusScope, mergeProps as $kUtXx$mergeProps, useTreeItem as $kUtXx$useTreeItem, useHover as $kUtXx$useHover, useGridListSelectionCheckbox as $kUtXx$useGridListSelectionCheckbox, useVisuallyHidden as $kUtXx$useVisuallyHidden, useId as $kUtXx$useId} from "react-aria";
|
|
10
|
-
import {CollectionBuilder as $kUtXx$CollectionBuilder, Collection as $kUtXx$Collection, CollectionNode as $kUtXx$CollectionNode, createLeafComponent as $kUtXx$createLeafComponent, createBranchComponent as $kUtXx$createBranchComponent, useCachedChildren as $kUtXx$useCachedChildren, LoaderNode as $kUtXx$LoaderNode} from "@react-aria/collections";
|
|
10
|
+
import {useLocale as $kUtXx$useLocale, useCollator as $kUtXx$useCollator, useTree as $kUtXx$useTree, ListKeyboardDelegate as $kUtXx$ListKeyboardDelegate, useFocusRing as $kUtXx$useFocusRing, FocusScope as $kUtXx$FocusScope, mergeProps as $kUtXx$mergeProps, useTreeItem as $kUtXx$useTreeItem, useHover as $kUtXx$useHover, useGridListSelectionCheckbox as $kUtXx$useGridListSelectionCheckbox, useVisuallyHidden as $kUtXx$useVisuallyHidden, useId as $kUtXx$useId, useGridListSection as $kUtXx$useGridListSection} from "react-aria";
|
|
11
|
+
import {BaseCollection as $kUtXx$BaseCollection, CollectionBuilder as $kUtXx$CollectionBuilder, Collection as $kUtXx$Collection, CollectionNode as $kUtXx$CollectionNode, createLeafComponent as $kUtXx$createLeafComponent, createBranchComponent as $kUtXx$createBranchComponent, useCachedChildren as $kUtXx$useCachedChildren, LoaderNode as $kUtXx$LoaderNode, SectionNode as $kUtXx$SectionNode} from "@react-aria/collections";
|
|
11
12
|
import {useTreeState as $kUtXx$useTreeState} from "react-stately";
|
|
12
13
|
import {filterDOMProps as $kUtXx$filterDOMProps, useObjectRef as $kUtXx$useObjectRef, useLoadMoreSentinel as $kUtXx$useLoadMoreSentinel, inertValue as $kUtXx$inertValue} from "@react-aria/utils";
|
|
13
|
-
import $kUtXx$react, {createContext as $kUtXx$createContext, forwardRef as $kUtXx$forwardRef, useRef as $kUtXx$useRef, useEffect as $kUtXx$useEffect, useContext as $kUtXx$useContext,
|
|
14
|
+
import $kUtXx$react, {createContext as $kUtXx$createContext, forwardRef as $kUtXx$forwardRef, useRef as $kUtXx$useRef, useEffect as $kUtXx$useEffect, useContext as $kUtXx$useContext, useState as $kUtXx$useState, useMemo as $kUtXx$useMemo} from "react";
|
|
14
15
|
import {useControlledState as $kUtXx$useControlledState} from "@react-stately/utils";
|
|
15
16
|
|
|
16
17
|
/*
|
|
@@ -37,52 +38,95 @@ import {useControlledState as $kUtXx$useControlledState} from "@react-stately/ut
|
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return
|
|
51
|
-
}
|
|
52
|
-
getItem(key) {
|
|
53
|
-
return this.keyMap.get(key) || null;
|
|
41
|
+
|
|
42
|
+
class $2f5eaf4a2a47b4cf$var$TreeCollection extends (0, $kUtXx$BaseCollection) {
|
|
43
|
+
withExpandedKeys(lastExpandedKeys, expandedKeys) {
|
|
44
|
+
let collection = this.clone();
|
|
45
|
+
collection.expandedKeys = expandedKeys;
|
|
46
|
+
// Clone ancestor section nodes so React knows to re-render since the same item won't cause a new render but a clone creating a new object with the same value will
|
|
47
|
+
// Without this change, the items won't expand and collapse when virtualized inside a section
|
|
48
|
+
$2f5eaf4a2a47b4cf$var$TreeCollection.cloneAncestorSections(expandedKeys, lastExpandedKeys, collection);
|
|
49
|
+
$2f5eaf4a2a47b4cf$var$TreeCollection.cloneAncestorSections(lastExpandedKeys, expandedKeys, collection);
|
|
50
|
+
collection.frozen = this.frozen;
|
|
51
|
+
return collection;
|
|
54
52
|
}
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
// diff lastExpandedKeys and expandedKeys so we only clone what has changed
|
|
54
|
+
static cloneAncestorSections(keys, excludeSet, collection) {
|
|
55
|
+
for (let key of keys)if (!excludeSet.has(key)) {
|
|
56
|
+
let currentKey = key;
|
|
57
|
+
while(currentKey != null){
|
|
58
|
+
let item = collection.getItem(currentKey);
|
|
59
|
+
var _item_parentKey;
|
|
60
|
+
if ((item === null || item === void 0 ? void 0 : item.type) === 'section') {
|
|
61
|
+
collection.keyMap.set(currentKey, item.clone());
|
|
62
|
+
break;
|
|
63
|
+
} else currentKey = (_item_parentKey = item === null || item === void 0 ? void 0 : item.parentKey) !== null && _item_parentKey !== void 0 ? _item_parentKey : null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
57
66
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
67
|
+
*[Symbol.iterator]() {
|
|
68
|
+
let firstKey = this.getFirstKey();
|
|
69
|
+
let node = firstKey != null ? this.getItem(firstKey) : null;
|
|
70
|
+
while(node){
|
|
71
|
+
yield node;
|
|
72
|
+
if (node.type === 'section') node = node.nextKey ? this.getItem(node.nextKey) : null;
|
|
73
|
+
else {
|
|
74
|
+
// This will include both item and content nodes
|
|
75
|
+
// We handle the content nodes in useCollectionRenderer and ListLayout
|
|
76
|
+
let key = this.getKeyAfter(node.key);
|
|
77
|
+
node = key ? this.getItem(key) : null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
61
80
|
}
|
|
62
81
|
getLastKey() {
|
|
63
|
-
|
|
64
|
-
|
|
82
|
+
// Find the deepest expanded child. We don't use collection.getLastKey() here
|
|
83
|
+
// because that will return the deepest child regardless of expandedKeys.
|
|
84
|
+
// Instead, start from the last top-level key and walk down.
|
|
85
|
+
let key = this.lastKey;
|
|
86
|
+
if (key == null) return null;
|
|
87
|
+
let node = this.getItem(key);
|
|
88
|
+
while((node === null || node === void 0 ? void 0 : node.lastChildKey) != null && (node.type !== 'item' || this.expandedKeys.has(node.key)))node = this.getItem(node.lastChildKey);
|
|
89
|
+
return node === null || node === void 0 ? void 0 : node.key;
|
|
65
90
|
}
|
|
66
91
|
getKeyAfter(key) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
92
|
+
let node = this.getItem(key);
|
|
93
|
+
if (!node) return null;
|
|
94
|
+
if ((this.expandedKeys.has(node.key) || node.type !== 'item') && node.firstChildKey != null) return node.firstChildKey;
|
|
95
|
+
while(node){
|
|
96
|
+
if (node.nextKey != null) return node.nextKey;
|
|
97
|
+
if (node.parentKey != null) node = this.getItem(node.parentKey);
|
|
98
|
+
else return null;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
70
101
|
}
|
|
71
102
|
getKeyBefore(key) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
103
|
+
let node = this.getItem(key);
|
|
104
|
+
if (!node) return null;
|
|
105
|
+
if (node.prevKey != null) {
|
|
106
|
+
node = this.getItem(node.prevKey);
|
|
107
|
+
// If the lastChildKey is expanded, check its lastChildKey
|
|
108
|
+
while(node && (node.type !== 'item' || this.expandedKeys.has(node.key)) && node.lastChildKey != null)node = this.getItem(node.lastChildKey);
|
|
109
|
+
var _node_key;
|
|
110
|
+
return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;
|
|
111
|
+
}
|
|
112
|
+
return node.parentKey;
|
|
75
113
|
}
|
|
76
|
-
// Note that this will return Content nodes in addition to nested TreeItems
|
|
77
114
|
getChildren(key) {
|
|
78
|
-
let
|
|
115
|
+
let self = this;
|
|
79
116
|
return {
|
|
80
117
|
*[Symbol.iterator] () {
|
|
81
|
-
let parent =
|
|
82
|
-
let node = (parent === null || parent === void 0 ? void 0 : parent.firstChildKey) != null ?
|
|
83
|
-
|
|
118
|
+
let parent = self.getItem(key);
|
|
119
|
+
let node = (parent === null || parent === void 0 ? void 0 : parent.firstChildKey) != null ? self.getItem(parent.firstChildKey) : null;
|
|
120
|
+
if (parent && parent.type === 'section' && node) // Stop once either the node is null or the node is the parent's sibling
|
|
121
|
+
while(node && node.key !== parent.nextKey){
|
|
122
|
+
yield self.getItem(node.key);
|
|
123
|
+
// This will include content nodes which we skip in ListLayout
|
|
124
|
+
let key = self.getKeyAfter(node.key);
|
|
125
|
+
node = key != null ? self.getItem(key) : null;
|
|
126
|
+
}
|
|
127
|
+
else while(node){
|
|
84
128
|
yield node;
|
|
85
|
-
node = node.nextKey != null ?
|
|
129
|
+
node = node.nextKey != null ? self.getItem(node.nextKey) : null;
|
|
86
130
|
}
|
|
87
131
|
}
|
|
88
132
|
};
|
|
@@ -91,17 +135,8 @@ class $2f5eaf4a2a47b4cf$var$TreeCollection {
|
|
|
91
135
|
let item = this.getItem(key);
|
|
92
136
|
return item ? item.textValue : '';
|
|
93
137
|
}
|
|
94
|
-
constructor(
|
|
95
|
-
this.
|
|
96
|
-
this.itemCount = 0;
|
|
97
|
-
let { collection: collection, expandedKeys: expandedKeys } = opts;
|
|
98
|
-
let { flattenedRows: flattenedRows, keyMap: keyMap, itemCount: itemCount } = $2f5eaf4a2a47b4cf$var$flattenTree(collection, {
|
|
99
|
-
expandedKeys: expandedKeys
|
|
100
|
-
});
|
|
101
|
-
this.flattenedRows = flattenedRows;
|
|
102
|
-
// Use generated keyMap because it contains the modified collection nodes (aka it adjusts the indexes so that they ignore the existence of the Content items)
|
|
103
|
-
this.keyMap = keyMap;
|
|
104
|
-
this.itemCount = itemCount;
|
|
138
|
+
constructor(...args){
|
|
139
|
+
super(...args), this.expandedKeys = new Set();
|
|
105
140
|
}
|
|
106
141
|
}
|
|
107
142
|
const $2f5eaf4a2a47b4cf$export$dfae7d399eea2568 = /*#__PURE__*/ (0, $kUtXx$createContext)(null);
|
|
@@ -110,7 +145,8 @@ const $2f5eaf4a2a47b4cf$export$7fbedc92909ed28e = /*#__PURE__*/ (0, $kUtXx$forwa
|
|
|
110
145
|
// Render the portal first so that we have the collection by the time we render the DOM in SSR.
|
|
111
146
|
[props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $2f5eaf4a2a47b4cf$export$dfae7d399eea2568);
|
|
112
147
|
return /*#__PURE__*/ (0, $kUtXx$react).createElement((0, $kUtXx$CollectionBuilder), {
|
|
113
|
-
content: /*#__PURE__*/ (0, $kUtXx$react).createElement((0, $kUtXx$Collection), props)
|
|
148
|
+
content: /*#__PURE__*/ (0, $kUtXx$react).createElement((0, $kUtXx$Collection), props),
|
|
149
|
+
createCollection: ()=>new $2f5eaf4a2a47b4cf$var$TreeCollection()
|
|
114
150
|
}, (collection)=>/*#__PURE__*/ (0, $kUtXx$react).createElement($2f5eaf4a2a47b4cf$var$TreeInner, {
|
|
115
151
|
props: props,
|
|
116
152
|
collection: collection,
|
|
@@ -149,16 +185,16 @@ function $2f5eaf4a2a47b4cf$var$TreeInner({ props: props, collection: collection,
|
|
|
149
185
|
let { CollectionRoot: CollectionRoot, isVirtualized: isVirtualized, layoutDelegate: layoutDelegate, dropTargetDelegate: ctxDropTargetDelegate } = (0, $kUtXx$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
|
|
150
186
|
// Kinda annoying that we have to replicate this code here as well as in useTreeState, but don't want to add
|
|
151
187
|
// flattenCollection stuff to useTreeState. Think about this later
|
|
152
|
-
let [expandedKeys, setExpandedKeys] = (0, $kUtXx$useControlledState)(propExpandedKeys ?
|
|
153
|
-
let
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
collection
|
|
160
|
-
expandedKeys
|
|
161
|
-
|
|
188
|
+
let [expandedKeys, setExpandedKeys] = (0, $kUtXx$useControlledState)(propExpandedKeys ? new Set(propExpandedKeys) : undefined, propDefaultExpandedKeys ? new Set(propDefaultExpandedKeys) : new Set(), onExpandedChange);
|
|
189
|
+
let [lastCollection, setLastCollection] = (0, $kUtXx$useState)(collection);
|
|
190
|
+
let [lastExpandedKeys, setLastExpandedKeys] = (0, $kUtXx$useState)(expandedKeys);
|
|
191
|
+
let [flattenedCollection, setFlattenedCollection] = (0, $kUtXx$useState)(()=>collection.withExpandedKeys(lastExpandedKeys, expandedKeys));
|
|
192
|
+
// if the lastExpandedKeys is not the same as the currentExpandedKeys or the collection has changed, then run this
|
|
193
|
+
if (!$2f5eaf4a2a47b4cf$var$areSetsEqual(lastExpandedKeys, expandedKeys) || collection !== lastCollection) {
|
|
194
|
+
setFlattenedCollection(collection.withExpandedKeys(lastExpandedKeys, expandedKeys));
|
|
195
|
+
setLastCollection(collection);
|
|
196
|
+
setLastExpandedKeys(expandedKeys);
|
|
197
|
+
}
|
|
162
198
|
let state = (0, $kUtXx$useTreeState)({
|
|
163
199
|
...props,
|
|
164
200
|
selectionMode: selectionMode,
|
|
@@ -219,7 +255,7 @@ function $2f5eaf4a2a47b4cf$var$TreeInner({ props: props, collection: collection,
|
|
|
219
255
|
var _dragAndDropHooks_isVirtualDragging;
|
|
220
256
|
let key = e.target.key;
|
|
221
257
|
let item = state.collection.getItem(key);
|
|
222
|
-
let isExpanded = expandedKeys
|
|
258
|
+
let isExpanded = expandedKeys.has(key);
|
|
223
259
|
if (item && item.hasChildNodes && (!isExpanded || (dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : (_dragAndDropHooks_isVirtualDragging = dragAndDropHooks.isVirtualDragging) === null || _dragAndDropHooks_isVirtualDragging === void 0 ? void 0 : _dragAndDropHooks_isVirtualDragging.call(dragAndDropHooks)))) state.toggleKey(key);
|
|
224
260
|
}
|
|
225
261
|
},
|
|
@@ -643,52 +679,6 @@ const $2f5eaf4a2a47b4cf$export$533df5f8efd48cc9 = (0, $kUtXx$createLeafComponent
|
|
|
643
679
|
style: style
|
|
644
680
|
}, renderProps.children)));
|
|
645
681
|
});
|
|
646
|
-
function $2f5eaf4a2a47b4cf$var$convertExpanded(expanded) {
|
|
647
|
-
if (!expanded) return new Set();
|
|
648
|
-
return expanded === 'all' ? 'all' : new Set(expanded);
|
|
649
|
-
}
|
|
650
|
-
function $2f5eaf4a2a47b4cf$var$flattenTree(collection, opts) {
|
|
651
|
-
let { expandedKeys: expandedKeys = new Set() } = opts;
|
|
652
|
-
let keyMap = new Map();
|
|
653
|
-
let flattenedRows = [];
|
|
654
|
-
// Need to count the items here because BaseCollection will return the full item count regardless if items are hidden via collapsed rows
|
|
655
|
-
let itemCount = 0;
|
|
656
|
-
let parentLookup = new Map();
|
|
657
|
-
let visitNode = (node)=>{
|
|
658
|
-
if (node.type === 'item' || node.type === 'loader') {
|
|
659
|
-
let parentKey = node === null || node === void 0 ? void 0 : node.parentKey;
|
|
660
|
-
let clone = {
|
|
661
|
-
...node
|
|
662
|
-
};
|
|
663
|
-
if (parentKey != null) {
|
|
664
|
-
// TODO: assumes that non item content node (aka TreeItemContent always placed before Collection) will be always placed before the child rows. If we can't make this assumption then we can filter out
|
|
665
|
-
// every non-item per level and assign indicies based off the node's position in said filtered array
|
|
666
|
-
let hasContentNode = [
|
|
667
|
-
...collection.getChildren(parentKey)
|
|
668
|
-
][0].type !== 'item';
|
|
669
|
-
if (hasContentNode) clone.index = (node === null || node === void 0 ? void 0 : node.index) != null ? (node === null || node === void 0 ? void 0 : node.index) - 1 : 0;
|
|
670
|
-
// For loader nodes that have a parent (aka non-root level loaders), these need their levels incremented by 1 for parity with their sibiling rows
|
|
671
|
-
// (Collection only increments the level if it is a "item" type node).
|
|
672
|
-
if (node.type === 'loader') clone.level = node.level + 1;
|
|
673
|
-
keyMap.set(clone.key, clone);
|
|
674
|
-
} else keyMap.set(node.key, node);
|
|
675
|
-
// Grab the modified node from the key map so our flattened list and modified key map point to the same nodes
|
|
676
|
-
let modifiedNode = keyMap.get(node.key) || node;
|
|
677
|
-
if (modifiedNode.level === 0 || modifiedNode.parentKey != null && expandedKeys.has(modifiedNode.parentKey) && parentLookup.get(modifiedNode.parentKey)) {
|
|
678
|
-
if (modifiedNode.type === 'item') itemCount++;
|
|
679
|
-
flattenedRows.push(modifiedNode);
|
|
680
|
-
parentLookup.set(modifiedNode.key, true);
|
|
681
|
-
}
|
|
682
|
-
} else if (node.type !== null) keyMap.set(node.key, node);
|
|
683
|
-
for (let child of collection.getChildren(node.key))visitNode(child);
|
|
684
|
-
};
|
|
685
|
-
for (let node of collection)visitNode(node);
|
|
686
|
-
return {
|
|
687
|
-
flattenedRows: flattenedRows,
|
|
688
|
-
keyMap: keyMap,
|
|
689
|
-
itemCount: itemCount
|
|
690
|
-
};
|
|
691
|
-
}
|
|
692
682
|
function $2f5eaf4a2a47b4cf$var$TreeDropIndicatorWrapper(props, ref) {
|
|
693
683
|
var _dropState_collection_getItem;
|
|
694
684
|
ref = (0, $kUtXx$useObjectRef)(ref);
|
|
@@ -765,7 +755,64 @@ function $2f5eaf4a2a47b4cf$var$RootDropIndicator() {
|
|
|
765
755
|
ref: ref
|
|
766
756
|
})));
|
|
767
757
|
}
|
|
758
|
+
const $2f5eaf4a2a47b4cf$export$1cd40fa16d4f033a = /*#__PURE__*/ (0, $kUtXx$createBranchComponent)((0, $kUtXx$SectionNode), (props, ref, item)=>{
|
|
759
|
+
let state = (0, $kUtXx$useContext)($2f5eaf4a2a47b4cf$export$8953bccafd7bce87);
|
|
760
|
+
let { CollectionBranch: CollectionBranch } = (0, $kUtXx$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
|
|
761
|
+
let headingRef = (0, $kUtXx$useRef)(null);
|
|
762
|
+
ref = (0, $kUtXx$useObjectRef)(ref);
|
|
763
|
+
var _props_arialabel;
|
|
764
|
+
let { rowHeaderProps: rowHeaderProps, rowProps: rowProps, rowGroupProps: rowGroupProps } = (0, $kUtXx$useGridListSection)({
|
|
765
|
+
'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : undefined
|
|
766
|
+
}, state, ref);
|
|
767
|
+
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
|
|
768
|
+
...props,
|
|
769
|
+
id: undefined,
|
|
770
|
+
children: undefined,
|
|
771
|
+
defaultClassName: 'react-aria-TreeSection',
|
|
772
|
+
values: undefined
|
|
773
|
+
});
|
|
774
|
+
let DOMProps = (0, $kUtXx$filterDOMProps)(props, {
|
|
775
|
+
global: true
|
|
776
|
+
});
|
|
777
|
+
delete DOMProps.id;
|
|
778
|
+
return /*#__PURE__*/ (0, $kUtXx$react).createElement((0, $64fa3d84918910a7$export$df3a06d6289f983e).section, {
|
|
779
|
+
...(0, $kUtXx$mergeProps)(DOMProps, renderProps, rowGroupProps),
|
|
780
|
+
ref: ref
|
|
781
|
+
}, /*#__PURE__*/ (0, $kUtXx$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {
|
|
782
|
+
values: [
|
|
783
|
+
[
|
|
784
|
+
(0, $72e60046c03fbe42$export$87f5843bfb30d205),
|
|
785
|
+
{
|
|
786
|
+
...rowProps,
|
|
787
|
+
ref: headingRef
|
|
788
|
+
}
|
|
789
|
+
],
|
|
790
|
+
[
|
|
791
|
+
(0, $72e60046c03fbe42$export$bc7e8a4031ec2a33),
|
|
792
|
+
{
|
|
793
|
+
...rowHeaderProps
|
|
794
|
+
}
|
|
795
|
+
]
|
|
796
|
+
]
|
|
797
|
+
}, /*#__PURE__*/ (0, $kUtXx$react).createElement(CollectionBranch, {
|
|
798
|
+
collection: state.collection,
|
|
799
|
+
parent: item
|
|
800
|
+
})));
|
|
801
|
+
});
|
|
802
|
+
const $2f5eaf4a2a47b4cf$export$2a73ea8963a8efd8 = (props)=>{
|
|
803
|
+
return /*#__PURE__*/ (0, $kUtXx$react).createElement((0, $72e60046c03fbe42$export$1b574dbdb0075ff6), {
|
|
804
|
+
className: "react-aria-TreeHeader",
|
|
805
|
+
...props
|
|
806
|
+
}, props.children);
|
|
807
|
+
};
|
|
808
|
+
function $2f5eaf4a2a47b4cf$var$areSetsEqual(a, b) {
|
|
809
|
+
if (a.size !== b.size) return false;
|
|
810
|
+
for (let item of a){
|
|
811
|
+
if (!b.has(item)) return false;
|
|
812
|
+
}
|
|
813
|
+
return true;
|
|
814
|
+
}
|
|
768
815
|
|
|
769
816
|
|
|
770
|
-
export {$2f5eaf4a2a47b4cf$export$dfae7d399eea2568 as TreeContext, $2f5eaf4a2a47b4cf$export$8953bccafd7bce87 as TreeStateContext, $2f5eaf4a2a47b4cf$export$7fbedc92909ed28e as Tree, $2f5eaf4a2a47b4cf$export$4b687e3f663d618c as TreeItemContent, $2f5eaf4a2a47b4cf$export$36b5dda0d9bc8f78 as TreeItemContentContext, $2f5eaf4a2a47b4cf$export$53d36ab85dc89436 as TreeItem, $2f5eaf4a2a47b4cf$export$533df5f8efd48cc9 as TreeLoadMoreItem};
|
|
817
|
+
export {$2f5eaf4a2a47b4cf$export$dfae7d399eea2568 as TreeContext, $2f5eaf4a2a47b4cf$export$8953bccafd7bce87 as TreeStateContext, $2f5eaf4a2a47b4cf$export$7fbedc92909ed28e as Tree, $2f5eaf4a2a47b4cf$export$4b687e3f663d618c as TreeItemContent, $2f5eaf4a2a47b4cf$export$36b5dda0d9bc8f78 as TreeItemContentContext, $2f5eaf4a2a47b4cf$export$53d36ab85dc89436 as TreeItem, $2f5eaf4a2a47b4cf$export$533df5f8efd48cc9 as TreeLoadMoreItem, $2f5eaf4a2a47b4cf$export$1cd40fa16d4f033a as TreeSection, $2f5eaf4a2a47b4cf$export$2a73ea8963a8efd8 as TreeHeader};
|
|
771
818
|
//# sourceMappingURL=Tree.module.js.map
|