69 lines
2.9 KiB
Plaintext
69 lines
2.9 KiB
Plaintext
var $fae56b53b03726ff$exports = require("./TreeCollection.main.js");
|
|
var $abPLV$reactstatelyselection = require("@react-stately/selection");
|
|
var $abPLV$react = require("react");
|
|
var $abPLV$reactstatelycollections = require("@react-stately/collections");
|
|
var $abPLV$reactstatelyutils = require("@react-stately/utils");
|
|
|
|
|
|
function $parcel$export(e, n, v, s) {
|
|
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
}
|
|
|
|
$parcel$export(module.exports, "useTreeState", () => $38effb299000faaf$export$728d6ba534403756);
|
|
/*
|
|
* Copyright 2020 Adobe. All rights reserved.
|
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
* governing permissions and limitations under the License.
|
|
*/
|
|
|
|
|
|
|
|
|
|
function $38effb299000faaf$export$728d6ba534403756(props) {
|
|
let { onExpandedChange: onExpandedChange } = props;
|
|
let [expandedKeys, setExpandedKeys] = (0, $abPLV$reactstatelyutils.useControlledState)(props.expandedKeys ? new Set(props.expandedKeys) : undefined, props.defaultExpandedKeys ? new Set(props.defaultExpandedKeys) : new Set(), onExpandedChange);
|
|
let selectionState = (0, $abPLV$reactstatelyselection.useMultipleSelectionState)(props);
|
|
let disabledKeys = (0, $abPLV$react.useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [
|
|
props.disabledKeys
|
|
]);
|
|
let tree = (0, $abPLV$reactstatelycollections.useCollection)(props, (0, $abPLV$react.useCallback)((nodes)=>new (0, $fae56b53b03726ff$exports.TreeCollection)(nodes, {
|
|
expandedKeys: expandedKeys
|
|
}), [
|
|
expandedKeys
|
|
]), null);
|
|
// Reset focused key if that item is deleted from the collection.
|
|
(0, $abPLV$react.useEffect)(()=>{
|
|
if (selectionState.focusedKey != null && !tree.getItem(selectionState.focusedKey)) selectionState.setFocusedKey(null);
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
}, [
|
|
tree,
|
|
selectionState.focusedKey
|
|
]);
|
|
let onToggle = (key)=>{
|
|
setExpandedKeys($38effb299000faaf$var$toggleKey(expandedKeys, key));
|
|
};
|
|
return {
|
|
collection: tree,
|
|
expandedKeys: expandedKeys,
|
|
disabledKeys: disabledKeys,
|
|
toggleKey: onToggle,
|
|
setExpandedKeys: setExpandedKeys,
|
|
selectionManager: new (0, $abPLV$reactstatelyselection.SelectionManager)(tree, selectionState)
|
|
};
|
|
}
|
|
function $38effb299000faaf$var$toggleKey(set, key) {
|
|
let res = new Set(set);
|
|
if (res.has(key)) res.delete(key);
|
|
else res.add(key);
|
|
return res;
|
|
}
|
|
|
|
|
|
//# sourceMappingURL=useTreeState.main.js.map
|