@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
46 lines (45 loc) • 1.35 kB
JavaScript
;
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTreeViewId = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _store = require("@mui/x-internals/store");
var _useTreeViewId = require("./useTreeViewId.selectors");
var _useTreeViewId2 = require("./useTreeViewId.utils");
const useTreeViewId = ({
params,
store
}) => {
React.useEffect(() => {
const prevIdState = store.state.id;
if (params.id === prevIdState.providedTreeId && prevIdState.treeId !== undefined) {
return;
}
store.set('id', (0, _extends2.default)({}, prevIdState, {
treeId: params.id ?? (0, _useTreeViewId2.createTreeViewDefaultId)()
}));
}, [store, params.id]);
const treeId = (0, _store.useStore)(store, _useTreeViewId.idSelectors.treeId);
return {
getRootProps: () => ({
id: treeId
})
};
};
exports.useTreeViewId = useTreeViewId;
useTreeViewId.params = {
id: true
};
useTreeViewId.getInitialState = ({
id
}) => ({
id: {
treeId: undefined,
providedTreeId: id
}
});