@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
36 lines (35 loc) • 1.48 kB
JavaScript
;
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTreeViewRootProps = useTreeViewRootProps;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _store = require("@mui/x-internals/store");
var _id = require("../plugins/id");
var _selection = require("../plugins/selection");
var _items = require("../plugins/items");
function useTreeViewRootProps(store, forwardedProps, ref) {
const treeId = (0, _store.useStore)(store, _id.idSelectors.treeId);
const itemChildrenIndentation = (0, _store.useStore)(store, _items.itemsSelectors.itemChildrenIndentation);
const isMultiSelectEnabled = (0, _store.useStore)(store, _selection.selectionSelectors.isMultiSelectEnabled);
return otherHandlers => (0, _extends2.default)({
ref,
role: 'tree',
id: treeId,
'aria-multiselectable': isMultiSelectEnabled
}, forwardedProps, otherHandlers, {
style: (0, _extends2.default)({}, forwardedProps.style, {
'--TreeView-itemChildrenIndentation': typeof itemChildrenIndentation === 'number' ? `${itemChildrenIndentation}px` : itemChildrenIndentation
}),
onFocus: event => {
otherHandlers.onFocus?.(event);
store.focus.handleRootFocus(event);
},
onBlur: event => {
otherHandlers.onBlur?.(event);
store.focus.handleRootBlur(event);
}
});
}