@wordpress/components
Version:
UI components for WordPress.
36 lines (35 loc) • 778 B
JavaScript
// packages/components/src/navigation/use-navigation-tree-nodes.tsx
import { useState } from "@wordpress/element";
function useNavigationTreeNodes() {
const [nodes, setNodes] = useState({});
const getNode = (key) => nodes[key];
const addNode = (key, value) => {
const {
children,
...newNode
} = value;
return setNodes((original) => ({
...original,
[key]: newNode
}));
};
const removeNode = (key) => {
return setNodes((original) => {
const {
[key]: removedNode,
...remainingNodes
} = original;
return remainingNodes;
});
};
return {
nodes,
getNode,
addNode,
removeNode
};
}
export {
useNavigationTreeNodes
};
//# sourceMappingURL=use-navigation-tree-nodes.js.map